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

jco*_*der 19 git

我正在使用git进行源代码控制,并将我的更改推送到Internet上的服务器上的存储库以便安全保存.

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

Gre*_*ill 16

由于连接失败或缓慢,Git不会损坏或"半更新"您的Git存储库.它非常强大,即使在最艰苦的环境下,我仍然可以放心使用它.

实际push功能基本上分两步实现(在快进推送的情况下,应始终如此):

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

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


Bli*_*izz 5

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