【发布时间】:2015-09-10 11:27:19
【问题描述】:
在我的 Git 分支上,我创建了一个提交并推送。后来,我对索引添加了更改,使用了git commit --amend,然后使用了git push -f。我的新提交覆盖了我分支上本地和远程的第一个提交。
此时,我希望(或希望)原始提交不再存在,或者至少存在(可能在 reflog 中)但不再有父提交,因此,一旦我运行 GC,它就会不复存在。但是,提交似乎仍然存在,并且其父级仍然完好无损。 (在这种情况下,我发现它的方式是通过 Jira,它将我链接到我在 github 上的覆盖提交)
为什么会这样?它将如何被删除?这是否意味着,每当我不小心将密码推送到 GitHub,然后使用git commit --amend 或git reset,然后使用git push -f,提交实际上永远不会真正被删除?
【问题讨论】:
-
修改后的提交是否仍然存在? 是;见this answer。