📜  Git – 工作树

📅  最后修改于: 2022-05-13 01:58:11.052000             🧑  作者: Mango

Git – 工作树

Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型项目到大型项目的所有项目。 Git 依赖于软件的分布式开发,其中多个开发人员可以访问特定应用程序的源代码,并且可以修改其他开发人员可能看到的更改。最初由 Linus Torvalds 于 2005 年为 Linux 内核开发设计和开发。

当我们使用 Git 时,我们主要处理文件和文件夹,但不应仅将 Git 与此相关联,但 Git 为我们提供的不仅仅是 Git 工作树就是其中之一。

工作树

当我们在本地准备好项目文件后,我们使用git init命令初始化项目目录,使其成为本地 git 存储库。使用 git init 命令初始化我们的目录后,我们可以看到.git文件夹被添加到我们的目录中。我们添加到位于 .git 文件夹之外的 Git 存储库的所有文件和文件夹都称为 Git 工作树。但是,.git 文件夹不是工作树的一部分。这个工作树跟踪文件、文件夹以及我们在其中所做的更改。

例如,如果我们修改文件的内容,工作树会记下它,我们通过 git status 命令获取它的信息。同样,我们可以检查正在编辑且未添加到暂存区域的文件。

然而,Github 上的存储库没有工作树。但是,在本地存储库中,我们可以很好地了解工作树。帮助我们深入了解工作树机制的命令如下:

git status

让我们看一个例子,我们将创建一个空目录并使用git init命令将其初始化到一个 git 存储库。

如上所述,.git 文件夹不是工作树的一部分,我们现在要添加到目录中的文件将成为工作树的一部分。

让我们在目录中添加一个新文件demo.txt ,然后使用命令git status检查我们的工作树。

我们可以看到git status命令向我们提供了一些消息,其中指出在我们的工作树中有一个名为 demo.txt 的文件,该文件当前未被跟踪。

让我们将文件添加到暂存区,然后观察 git status 命令。

我们的文件现在已添加到暂存区域,但我们再次收到一条消息说我们尚未添加提交。让我们使用git commit命令添加提交并检查我们的工作树状态。

现在我们得到一条消息,没有任何东西可以提交并且工作树是干净的。让我们修改我们的 demo.txt,然后再次观察我们的工作树。

一旦我们修改了 demo.txt,我们的工作树就会通知我们工作目录发生了变化。让我们将这些更改添加到暂存区域并提交这些更改。

同样,我们的工作树现在变得干净了。现在,让我们观察如果我们删除文件会发生什么,工作树会显示这些更改吗?

我们可以看到,在删除我们的文件后,我们会收到一条消息,指出存在未跟踪的更改。因此,让我们将这些更改添加到暂存区域并提交它们。

所以我们的工作树再次变得干净,让我们看看我们到目前为止的提交。因此,以类似的方式,可以尝试更多示例来更好地理解工作树。