显示提交的修正

时间:2013-08-19 21:06:17

标签: git version-control

如果我在同一次提交中多次完成git commit --amend,有没有办法列出给定提交的所有不同修改?

2 个答案:

答案 0 :(得分:1)

git commit --amend完全重写提交,创建一个新的提交对象并最终抛弃旧的提交对象。如果存在对旧对象的引用,则可以查找更改;但总的来说情况可能并非如此。

所以简短的回答是:否。修改提交将重写原始提交,明确 已分隔历史记录。如果你想识别不同的状态,你应该进行真正的提交。

如果您在(个人/私人)开发期间只想要这个,那么您也可以进行正常提交,然后如果要清理它,则可以压缩提交以创建一个提交。

答案 1 :(得分:1)

实际上这种方式存在。您可以使用命令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

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