git log - all有什么作用?

Sno*_*ash 18 git

为什么git log不简单地记录所有最新的提交?

这意味着什么?

--all
       Pretend as if all the refs in refs/ are listed on the command line as <commit>.
Run Code Online (Sandbox Code Playgroud)

我假设,一旦翻译成简单的英语,它意味着显示所有最新的提交.

有人可以澄清一下.

小智 14

不,这并不意味着它显示了所有最新的提交.它显示了分支,标记和其他引用历史记录中的所有提交,但它不显示任何引用无法访问的提交.您刚刚运行时无法从任何ref访问的提交的典型示例git commit --amend:先前的提交仍然存在于本地,但它不再可访问且不会显示在git log --all.但是git reflog会证实它确实仍然存在.

至于为什么--all不是默认值:你通常不会想要那个.例如,如果您在分支主服务器上,并且运行git log,您通常对任何功能分支的历史记录不感兴趣,您通常希望查看主服务器的历史记录.

如果您通常需要这种--all行为,我建议您创建一个别名.