Git文档中的错误?

Git文档中的错误?,git,command-line,syntax,Git,Command Line,Syntax,根据,Git手册页是从Git文档自动转换而来的(不使用mdoc或groff),因此某些用法语法和手册页不遵守 例如: man git-config 列表 列表 git-rebase[-i |--interactive][[--exec] [--on |--keep base][[]] git rebase[-i |--interactive][--exec][--on] --根[] git rebase(-continue |--skip |--abort |--quit |--edit to

根据,Git手册页是从Git文档自动转换而来的(不使用
mdoc
groff
),因此某些用法语法和手册页不遵守

例如:

man git-config
列表

列表

git-rebase[-i |--interactive][[--exec]
[--on |--keep base][[]]
git rebase[-i |--interactive][--exec][--on]
--根[]
git rebase(-continue |--skip |--abort |--quit |--edit todo |--show current patch)

按照POSIX语法,这将表明
git-rebase
可以在没有任何选项或参数的情况下成功运行,但事实并非如此


由于Git文档中没有任何关于如何读取命令行使用语法的章节,我如何理解Git rebase的使用语法?是否应将
置于
[]
之外,以正确指示它实际上是命令的非可选参数?

Git在其手册页面中努力使用准确的语法描述,尽管可能有人犯了错误。
[]
语法表示可选参数,括号表示需要其中一个选项的用法。POSIX可能是这样做的,也可能不是这样,但一般来说,每个Unix系统在如何格式化手动页面方面都有略微不同的标准,因此应该预期会有一些差异。如果您强烈希望更改内容,可以在Git列表中提出这样的更改,然后发送一些补丁


正如jthill指出的那样,可以在没有选项或参数的情况下使用
git-rebase
。在您的环境中,这可能是一件有用的事情,也可能不是。就个人而言,我更喜欢在使用Git重定基址时更加明确,所以我不使用这种语法,但这是我个人的偏好;该命令可以这样使用,即使我选择不使用。

git-rebase
可以在没有选项或参数的情况下运行,这是一种常见用法。也许花更多的时间理解内容并尝试这些命令会有助于理解它们。@jthill您能告诉我一个用法,其中
git-rebase
在没有参数的情况下运行吗?我以前从未见过这种情况。@jthill我现在看到的
git-rebase
可以在没有参数的情况下运行,尽管我发现自动模式很危险(更多信息)。但是,git配置的手册页仍然存在问题。如果用法语法不一致,我们需要阅读命令描述,那么就不需要用法语法。事实上,这增加了困惑。谢谢!是的,不幸的是,我在发布这篇文章后意识到我对rebase的看法是错误的(抱歉@jthill)。我认为
git config
的潜在错误是很小的,但我想提醒适当的人注意,因为我提出了这个问题。Git列表在哪里?(或者[说](如果
rebase
的文档有误,我想我的问题会更好)另一个问题:如果分支的上游(比如
topic
)是远程的(比如
origin/topic
),通过在
topic
分支上运行裸
git-rebase
自动重新设置到
origin/topic
上会构成重写已发布的历史记录吗?邮件列表会列出。任何不是no-op的rebase都会重写历史记录。因此,如果您发布了旧版本并发布了重新设置的版本,那么您正在重写p公开的历史。有时候没关系,有时候没关系。
git config [<file-option>] [type] --add name value
man git-rebase
git rebase [-i | --interactive] [<options>] [--exec <cmd>]
               [--onto <newbase> | --keep-base] [<upstream> [<branch>]]
       git rebase [-i | --interactive] [<options>] [--exec <cmd>] [--onto <newbase>]
               --root [<branch>]
       git rebase (--continue | --skip | --abort | --quit | --edit-todo | --show-current-patch)