在另一个问题中,我发现提到了这个命令:
git diff --merge
然而,查看
diff
的手册页或--help
文档后,我找不到--merge
选项的任何解释。有些命令可以使用其他子命令的选项,比如
git show
在--help
页面中说明:该命令接受适用于
git diff-tree
命令的选项,以控制如何显示提交引入的更改。
git diff
是否使用其他git命令(如git show
)的选项?如果是,它是否在文档中说明?还是这是一个疏忽?在另一个问题中,我发现提到了这个命令:
git diff --merge
diff
的手册页或--help
文档后,我找不到--merge
选项的任何解释。git show
在--help
页面中说明:git diff-tree
命令的选项,以控制如何显示提交引入的更改。
git diff
是否使用其他git命令(如git show
)的选项?如果是,它是否在文档中说明?还是这是一个疏忽?git diff
使用与 git rev-list
相同的所有选项(实际上,许多 git 命令都是这样做的,要么直接运行 git rev-list
- 许多是 shell 脚本 - 要么从其源代码中调用它)。所以这里的 --merge
是来自于 git-rev-list 的选项之一:
--merge
After a failed merge, show refs that touch files having a conflict
and don't exist on all heads to merge.
git diff
使用其他git命令的选项,就像git show
一样吗?
如果是这样的话,文档中有说明吗?还是这是一个疏忽?
Git 2.43(2023年第四季度)对于git diff
和git show
进行了澄清:
请参见commit 4fbe83f(2023年9月20日)由Han Young(eseedo
)提交。
(由Junio C Hamano -- gitster
--在commit e076f3a中合并,2023年9月29日)
show doc
:将用户重定向到git log
手册,而不是git diff-tree
。
签名:Han Young
虽然`git show`(man)命令接受适用于`git diff-tree`(man)命令的选项,但在`git show`的上下文中,有些选项是没有意义的。
`git show`命令的选项是通过`git log`的机制来处理的。
`git log`(man)手册页比`git diff-tree`更适合查找`git show`手册页中没有的选项。git show --help
的man page已经改变了:
一些'git log'命令理解的选项可以用来控制显示提交引入的更改的方式。
它不再引用OP中的git diff-tree
了。
git diff --merge
,但是收到了一个错误信息(不在合并中)然后追踪源代码确认了一下。 - undefined