当git fetch命令被中断时获取的文件会发生什么

时间:2012-12-02 17:08:26

标签: git

我正在学习如何使用git,我想知道在git fetch命令因电源故障或连接问题而中断之前获取的文件会变成什么样。在中断之前获取的文件是否会被复制到我的计算机上?

2 个答案:

答案 0 :(得分:3)

git fetch将从远程存储库传输对象。为了保持Git的完整性,只有完整的对象才会被写入本地存储库。因此,如果获取被中断,您将最终得到部分对象,这意味着获取未完成,但没有单个对象会被破坏。在随后的获取中,Git将再次计算缺少哪些对象并获取它们。

答案 1 :(得分:1)

当git fetch开始接收对象时,它会在其中创建一个临时文件 用于保存新对象的存储库的objects/pack目录。只有一次 fetch完成将临时文件重命名为将要的名称 被其他git进程所尊重。如果提取被暂时中断 文件将被忽略,包括另一个fetch;所以一切都是 在中断之前转移将再次转移。

及时(默认为2周),临时包文件将符合资格 通过垃圾收集过程删除。你可以强迫这样做 离开git gc --prune=now