具有不可靠连接的“git”有多安全?

时间:2010-08-08 08:04:07

标签: git

我正在使用git进行源代码管理,并将我的更改推送到互联网服务器上的存储库中,以便安全保存。

我可以在火车上的笔记本电脑上做一些少量的编码,它有一个无线互联网连接,但它不是 可靠,偶尔会掉线或变得无法使用。我的问题是如果在“git push”期间我的连接丢失会发生什么?我最终会得到一个损坏或半更新的git存储库吗?如果是这样,恢复它有多难?

2 个答案:

答案 0 :(得分:16)

Git不会因为连接失败或速度慢而损坏或“半更新”您的Git存储库。它非常强大,即使在最艰苦的环境下,我仍然可以放心使用它。

实际的push函数基本上分两步执行(在快进推送的情况下,应始终如此):

  • 上传所有可从当前分支头部到达且无法从远程分支头部访问的对象
  • 更新远程分支头以指向最新提交

第一个操作是幂等的,所以如果它因任何原因中途失败,你可以再次运行它以使所有内容都是最新的。第二个操作是原子操作,只有在上传所有新对象后才会发生。

答案 1 :(得分:5)

根据Linus的说法,git在数据区域的安全性非常高,甚至可以检测到它正在运行的系统上的内存错误。它将不会应用到达服务器的具有无效校验和的数据包,因此您无需担心。