Git:远程回购中会有悬空斑点吗?

时间:2018-04-02 23:44:24

标签: git github

如果我在我的本地仓库中创建了一些悬空blob或提交(比如通过修改或重新设置提交),当我运行git push时,这些悬空对象是否会被推送到远程仓库?

另外如果我在远程仓库中创建了一些悬空blob(比如通过本地重新定位然后强制更新远程仓库),git将如何处理远程仓库中的悬空对象?他们会永远留在那里吗?

2 个答案:

答案 0 :(得分:0)

简短的回答是您不必担心这一点,就像您不必在自己的本地存储库中担心它们一样。

长答案很复杂:git gc运行并丢弃悬空对象的精确点取决于是否启用了reflog以及是否安装了特定的Git版本。但是,作为一项规则,git push本身不会推送未使用的对象,因此您必须通过强制推送在服务器上生成未引用的对象。

答案 1 :(得分:0)

同时检查list of commands triggering a gc --auto

git receive-pack(在远程端的git push上完成)将生成gc --auto
因此,如果定期推送,最终将清理远程仓库。