2

我很惊讶使用 Git 执行分支是多么容易。让我担心的是,对于我的目录结构中可能拥有的所有数百个文件,我真的可以相信 Git 在我签出另一个分支时确保所有文件都处于正确的状态吗?这似乎太快了,不可能是真的。

有没有人经历过他们签出不同的分支的时候,有些文件被跳过了,或者只是在你知道它们应该有的时候没有改变?

4

3 回答 3

3

因为 Git 根据文件内容的散列来管理指向文件的指针,所以它不需要重写几乎相同的目录,无论那里有多少文件。如果您查看提交的结构和树的概念,您会发现 Git 将非常有效地遍历这些结构,并且只更改工作目录中需要更改的部分。它的力量在于简单。

我从来没有遇到过 Git 和大型项目的任何问题。linux内核和其他大型项目使用Git进行版本控制,没有问题,性能快速可靠。

于 2012-08-02T08:51:26.040 回答
2

是的,你可以相信它。但是,当真的出现问题时,存储库的任何其他克隆(除了主存储库本身)都是备份;)

这么快,因为

  • 每个操作首先都是本地的,这意味着:不需要慢速网络操作
  • 它仅将更改推送到工作区:它获取当前分支和结帐分支之间的第一个共同祖先,将当前结帐的更改还原到此祖先,然后将祖先的更改应用到其他分支。这只发生在后台,但这大大减少了文件的数量,或者最后推送到工作区的更改。

也许(可能,可能;))还有其他优化。我不知道。

于 2012-08-02T08:46:16.407 回答
1

我已经使用 Git 好几年了,发现它在这个领域非常可靠。我已经将它与数千个文件的项目一起使用。

于 2012-08-02T08:47:36.863 回答