我知道它们存在于git reflog
中,但是如果我将提交推到远程存储库,修改,然后git push --force
(警告:pushing --force
到远程存储库通常应该避免),我重写的提交是否存在某个地方?
最佳答案
我覆盖的提交是否存在?
仅限于:
本地回购协议的reflog
远程reflog的upstream repo(该提交以前发布过)。
上游回购通常是bare one,正如kostixcomments,所以core.logAllRefUpdates
needs to be true,如果你想在上述的裸上游回购中看到回流。
远程回购的任何其他本地克隆,在其他人第二次git推送(--force
)之前完成。
注意ORIG_HEAD
(amemento from a time where reflog didn't existed yet)不是由agit commit
创建/更新的(如agit commit --amend
或agit commit --amend -m "new comment"
)。
因此,如果在回购协议上未激活reflog
,则不能使用orig_head来引用修改后的提交。