我有一个git存储库(让我们称之为" CGR")从github fork(GK)中克隆出来,那个就是一个原始的github repo(GR)。我在CGR中做了更改,并在分支B上提交它们。然后,我将主分支从GR拉到CGR,并将该主分支合并到B分支。
在该操作之后,一些文件仍保持不变。我可以再次拉,git说"好吧,你当地的分公司是最新的GR分支"。
我检查了我的本地存储库CGR中的文件(让我们说," pom.xml"),在那里,我看到缺少一些修改。
所以,我有真正的问题:Git在拉动时处理交易以及Git如何处理交易?因为我怀疑网络在错误的时间出现故障,导致本地存储库损坏,如果Git在其事务机制中存在漏洞或者根本没有事务处理,这是有道理的。
答案 0 :(得分:0)
有相当不错的在线资源可以覆盖git的协议和数据结构。这是很多信息。有了这些知识,理解获取或拉取后确保一致性的机制非常简单;没有那些知识,在我看来这似乎是不可理解的。
所以如果你真的想知道,那么你有一些研究要做;试图在这里重申一遍是没有意义的(如果我将你的问题解释为文档参考的请求,那么我想我会把它作为非主题而不是回答而投票。)
如果做不到这一点,我可以告诉你的是:不,你的假设没有意义。你可以选择是否相信我 - 你不会是第一个确定他们不正确的观察是决定性的。但是考虑一下像你所描述的那个大洞是否会因为经验而不为人所熟知,以及是否有人会在实际情况下使用 git。
请记住,git是一个分布式源代码控制系统。