如果我在同一个提交上完成了多次 git commit --amend ,有没有办法可以列出对给定提交的所有不同修改?
问问题
2554 次
2 回答
6
其实方法是存在的。你可以使用命令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 时,我可以看到提交和修改的完整列表,以及它们之间的差异。我不知道如何通过命令行查看差异,如果有人知道该怎么做,请发布。
于 2014-06-08T04:13:10.197 回答
1
git commit --amend
完全重写提交,创建一个新的提交对象并最终丢弃旧的。如果有对旧对象的引用,则保留它,因此您可以查找更改;但总的来说,情况可能并非如此。
所以简短的回答是:不。修改提交将重写原始提交,以明确没有分离的历史记录。如果你想识别不同的状态,你应该做出真正的提交。
如果您只是在(个人/私人)开发期间想要这个,您也可以进行正常提交,然后如果您想清理它,则稍后压缩提交以创建一个单独的提交。
于 2013-08-19T21:09:29.817 回答