为什么git log
不会简单地记录所有最新的提交?
这是什么意思?
--all
Pretend as if all the refs in refs/ are listed on the command line as <commit>.
我认为,一旦翻译成简明的英语,它的意思是显示所有最新的提交。有人可以澄清吗?为什么git log
不会简单地记录所有最新的提交?
这是什么意思?
--all
Pretend as if all the refs in refs/ are listed on the command line as <commit>.
我认为,一旦翻译成简明的英语,它的意思是显示所有最新的提交。有人可以澄清吗?不,这并不意味着它显示所有最新的提交。它显示分支、标签和其他引用历史中的所有提交,但它不会显示任何无法从任何引用中访问的提交。一个典型的无法从任何引用中访问的提交的例子是当你刚刚运行了git commit --amend
时:之前的提交仍然存在于本地,但它不再可达,并且不会在git log --all
中显示。但是git reflog
将确认它确实仍然存在。
至于为什么--all
不是默认值:通常情况下你不需要那个。例如,如果你在主分支上,运行git log
,你通常不会对任何功能分支的历史感兴趣,你通常只想看到主分支的历史。
如果你通常需要--all
行为,我建议创建一个别名。
--all
不会做的事情,并且真正的答案有点隐藏在你的第二句话中(通过否定)。对于非英语母语的人来说,阅读起来有点困难。如果我理解正确的话(我的英语也不是很好,只是我的第三种语言...),它可以更简洁地重写为“git log --all 显示所有提交 可从任何引用到达”。这是否是你句子的正确理解? - exhuma同一页面还说到:log --all 仅用于列出在 refs/ 中引用的提交(如标签、分支等)
--all 选项并不会告诉 git log 显示所有提交,它要求显示所有引用的日志,基本上是你的分支和标签。
因此,没有使用
git log
并不总是显示所有的分支。默认情况下,git log
只会显示当前所检出分支下的提交历史记录。如果要显示所需分支的提交历史记录,必须显式指定它:git log testing
。如果要显示所有分支,则在 git log 命令后添加--all
。
--all
,您只能看到实际构成当前分支的提交记录。
log --all
",我认为它的意思是“查看所有分支,而不仅仅是当前的分支”(这似乎是更或多或少正确的),但我今天查看了文档以确保在告诉其他人使用之前。我读了那句话,心想“什么鬼?”。 - Michael Burr