简介
在这个实验中,你将学习如何检查一个文件是否被 Git 跟踪。我们将探讨两个重要的 Git 命令:git ls-files
和 git status
。
你将首先使用 git ls-files
列出你的仓库中当前被 Git 跟踪的所有文件。然后,你将使用 git status
来验证跟踪状态,并了解当所有更改都已提交时,Git 如何报告你的工作目录的状态。最后,你将测试 Git 如何处理未跟踪的文件。
在这个实验中,你将学习如何检查一个文件是否被 Git 跟踪。我们将探讨两个重要的 Git 命令:git ls-files
和 git status
。
你将首先使用 git ls-files
列出你的仓库中当前被 Git 跟踪的所有文件。然后,你将使用 git status
来验证跟踪状态,并了解当所有更改都已提交时,Git 如何报告你的工作目录的状态。最后,你将测试 Git 如何处理未跟踪的文件。
git ls-files
检查文件在这一步中,你将使用 git ls-files
命令来查看 Git 当前在你的仓库中跟踪哪些文件。这个命令有助于快速了解构成项目历史的文件。
首先,确保你位于 my-time-machine
目录中。如果你不在该目录,请使用 cd
命令导航到该目录:
cd ~/project/my-time-machine
现在,运行 git ls-files
命令:
git ls-files
由于你在前面的步骤中已经创建并提交了 message.txt
文件,你应该会在输出中看到该文件的名称:
message.txt
git ls-files
命令会列出你的仓库中当前被 Git 跟踪的所有文件。这些文件是 Git 正在积极监控更改并包含在提交中的文件。
了解哪些文件被跟踪很重要,因为 Git 仅管理被跟踪文件的历史记录。在你进行提交时,任何未被跟踪的文件都将被 Git 忽略。这使你能够控制哪些内容包含在项目的版本历史中。
在接下来的步骤中,我们将探讨 Git 如何处理尚未被跟踪的文件。
git status
验证跟踪状态在上一步中,我们使用 git ls-files
查看了 message.txt
是一个被跟踪的文件。现在,让我们再次使用 git status
命令,来看看当所有更改都已提交时,Git 如何报告我们仓库的状态。
确保你仍然位于 ~/project/my-time-machine
目录中。
运行 git status
命令:
git status
你应该会看到类似以下的输出:
On branch master
nothing to commit, working tree clean
这个输出告诉了我们一些重要信息:
当你完成了一系列更改并提交后,这就是仓库的理想状态。它表明你的工作目录是“干净的”,并且与最新的提交保持同步。
将此输出与我们在创建 message.txt
并提交之前看到的 git status
输出进行比较,你可以看到 Git 的状态消息是如何变化以反映文件和提交的状态的。
在下一步中,我们将引入一个新文件,以查看当存在未跟踪的文件时,Git 的状态会如何变化。
在这一步中,你将在 my-time-machine
目录中创建一个新文件,并查看 Git 的状态如何变化以反映存在未跟踪的文件。
确保你位于 ~/project/my-time-machine
目录中。
使用 echo
命令创建一个名为 notes.txt
的新文件:
echo "Some random notes" > notes.txt
此命令创建一个名为 notes.txt
的新文件,并将文本 "Some random notes" 写入其中。
现在,再次使用 git status
检查仓库的状态:
git status
你应该会看到类似以下的输出:
On branch master
Untracked files:
(use "git add <file>..." to include in what will be committed)
notes.txt
nothing added to commit but untracked files present (use "git add" to track)
注意 "Untracked files:" 部分。Git 已经检测到新文件 notes.txt
,但告知你该文件未被跟踪。这是因为你还没有告诉 Git 将此文件包含在仓库的历史记录中。
这是 Git 中的一个关键概念:你必须使用 git add
命令明确告诉 Git 你想要跟踪哪些文件。这可以防止 Git 自动包含目录中的每个文件,因为这些文件可能包括临时文件、构建产物或你不希望包含在项目历史记录中的个人笔记。
在下一个实验中,你将学习如何将这个新文件添加到暂存区并提交它,使其成为仓库中被跟踪的文件。
在这个实验中,你学习了如何检查文件是否被 Git 跟踪。你使用 git ls-files
命令列出了仓库中当前被跟踪的所有文件,确认了 message.txt
是被跟踪的文件。
然后,你使用 git status
命令验证了仓库的状态。输出 "nothing to commit, working tree clean" 表明所有更改都已提交,工作目录中没有未跟踪的文件或待处理的更改。这加深了你对 Git 如何报告被跟踪文件状态的理解。