gpt4 book ai didi

git - Linus Torvalds 说 Git "never ever"跟踪一个文件是什么意思?

转载 作者:IT王子 更新时间:2023-10-29 01:12:53 26 4
gpt4 key购买 nike

当被问及 Git 在他的 Tech Talk at Google in 2007 期间可以处理多少文件时引用 Linus Torvalds (43:09):

…Git tracks your content. It never ever tracks a single file. You cannot track a file in Git. What you can do is you can track a project that has a single file, but if your project has a single file, sure do that and you can do it, but if you track 10,000 files, Git never ever sees those as individual files. Git thinks everything as the full content. All history in Git is based on the history of the whole project…

(成绩单 here .)

然而,当您深入研究 the Git book ,首先要告诉您的是 Git 中的文件可以是已跟踪未跟踪。此外,在我看来,整个 Git 体验都是针对文件版本控制的。使用 git diffgit status 时,输出是按文件显示的。使用 git add 时,您还可以根据每个文件进行选择。您甚至可以以文件为基础查看历史记录,速度快如闪电。

应如何解释此声明?在文件跟踪方面,Git 与其他源代码控制系统(例如 CVS)有何不同?

最佳答案

在 CVS 中,历史记录是在每个文件的基础上进行跟踪的。一个分支可能由各种文件组成,这些文件具有自己的各种修订,每个文件都有自己的版本号。 CVS 基于 RCS ( Revision Control System ),它以类似的方式跟踪单个文件。

另一方面,Git 对整个项目的状态进行快照。文件不被独立跟踪和版本控制;存储库中的修订指的是整个项目的状态,而不是一个文件。

当 Git 提到跟踪文件时,它的意思只是将其包含在项目的历史记录中。 Linus 的演讲并不是指在 Git 上下文中跟踪文件,而是将 CVS 和 RCS 模型与 Git 中使用的基于快照的模型进行对比。

关于git - Linus Torvalds 说 Git "never ever"跟踪一个文件是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55602748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com