2

我知道它们存在于 中git reflog,但是如果我将提交推送到远程存储库,然后进行修改git push --force(警告:pushing --force通常应避免到远程存储库),我覆盖的提交是否会存在于某处?

4

2 回答 2

5

我覆盖的提交会存在于某处吗?

只有在:


请注意,ORIG_HEADreflog 尚不存在时的纪念品不是git commit由 a (如 agit commit --amend或 a )创建/更新的git commit --amend -m "new comment"
因此,如果reflog未在 repo 上激活,则 ORIG_HEAD 不能用于引用修改后的提交。

于 2013-06-21T13:21:06.867 回答
1

不会。您修改后的提交将在您的本地仓库中保留一段时间,但不会被推送。

推送时,Git 计算丢失的提交以使远程分支与本地分支位于同一点。由于您修改后的提交不再在分支上,因此不会被推送。

修改后的提交会一直保留到垃圾回收发生。但是 GC 在删除一个提交之前会检查几个条件,所以不要害怕丢失数据。

于 2013-06-21T12:35:48.540 回答