显示对提交的修改

ʞɔı*_*ɔıu 14 git version-control

如果我在同一个提交上多次执行 git commit --amend ,有没有办法可以列出对给定提交的所有不同修改?

小智 22

其实这个方法是存在的。你可以使用命令git reflog

$ git reflog 
d7f7f15 HEAD@{0}: commit (amend): My second commit
f5d2ed5 HEAD@{1}: commit (amend): My second commit
7333d86 HEAD@{2}: commit: My second commit
addbfef HEAD@{3}: commit: This was my first commit
Run Code Online (Sandbox Code Playgroud)

当我在 IDE Eclipse 中使用 pugin EGIT 时,我可以看到提交和修订的完整列表,以及它们之间的差异。我不知道如何通过命令行查看差异,如果有人知道如何做,请发布。


pok*_*oke 0

git commit --amend完全重写提交,创建一个新的提交对象并最终丢弃旧的提交对象。如果有对旧对象的引用,它会被保留,这样您就可以查找更改;但一般情况下情况可能并非如此。

所以简短的答案是:不。修改提交会将原始提交重写为明确单独的历史记录。如果您想识别不同的状态,您应该只进行真正的提交。

如果您只想在(个人/私人)开发期间进行此操作,则还可以进行正常提交,然后如果您想清理它,则将提交压缩以创建单个提交。