我正在研究和学习分布式版本控制系统的基础知识,特别是Git。在观看关于Git的Linus' Tech Talk之后,我有几个问题我没有完全理解。需要注意的是,我来自SVN,基于Windows的背景,所以我的所有问题都是从该环境构建的。关于Git的一些(基础)问题和说明
如何合并到其他人的分支处理?也就是说,Joe和Jane都是从主管/主管分支出来的,而Joe想合并Jane在分支中所做的更改,这是如何完成的?为了让我的问题更具体 - 如果乔在阿根廷,简在俄罗斯,这是如何完成的?每个Git分支是否都有一台能够完成这些任务的服务器?或者是一个中央服务器仍然负责跟踪所有当前分支机构和他们居住的地方? Git如何知道所有这些(可能有数千个)分支机构在哪里生活? (特别是在Windows环境下!)
Linus谈到没有备份,说这是不必要的,因为每个人都有他的代码副本。但是,如果他克隆一个存储库,做几十行更改,提交,但不会推送......如果他的机器死亡,他是否不会损失所有的更改?我认为我正确理解这个概念(所有提交本地直到被推),但他似乎对这个问题非常讨厌,所以我很好奇。