如何让git显示自指定提交(可能是几百次提交)以来所有提交中对所有文件所做的所有更改?
我可以找到如何显示对一个文件的所有更改,或一次提交中的所有更改,或已更改的文件列表,但我没有找到关于如何显示整个存储库中所有更改的完整差异的任何文档,按照它们的顺序,从历史上任意点开始。(我知道产量会很大。)
tl;
:你可能想要git log -p --since=<date of the commit>
。
git log -p
将显示每次提交中的所有更改。请参阅提交格式以完全控制每次提交返回的内容。
…因为指定的commit
这有点复杂,因为Git的历史不是线性的(使用git log --graph
来查看真实的历史)。
如果您想要在时间之后的所有提交,找到提交的日期并使用--since
。
如果您希望从拓扑之后的所有提交都传递给git log
一个修订范围。详细信息请参见指定范围,但通常git log <commit>..
是您想要的。
请参阅提交限制,以控制显示哪些提交。
…按照制作的顺序
git log
默认按时间倒序排列。其他可能性参见提交顺序。
例如…
time ---->
A - B - C - D - E - F [branch1]
I - J - K - L - M [branch2]
从D开始的所有提交按时间倒序排列为J - E - K - F - L - m
从拓扑结构D开始的所有提交都是E - f
你想要哪一个由你决定。