如果我在本地仓库上创建了一些悬空的斑点或投入(例如,修改或重新命名(,当我运行git推送时,这些悬挂的物体会被推到远程储备吗?
同样,如果我在遥控存储库中创建了一些悬空的斑点(例如,在本地重新安排,然后强制更新遥控器(,Git将如何处理遥控器中的悬挂物体?他们会永远留在那里吗?
简短的答案是,您不必担心这一点,就像您不必在自己的本地存储库中担心它们的方式。
长答案很复杂:git gc
运行和丢弃悬空的对象的确切点取决于是否启用了反射量以及安装了特定的GIT版本,等等。但是,通常,git push
本身不会推动未使用的对象,因此您必须通过Force-Push在服务器上生成未引用的对象。
还检查触发 gc --auto
的命令列表:
git receive-pack
(在遥控侧的git push
上完成(将生成gc --auto
。
因此,如果有常规的推动,最终将清理遥控器。