简介
在这个实验中,你将学习如何检查 Git 储藏区(stash)是否为空。我们将探讨不同的方法来检查和验证你的储藏区内容。
你将首先使用 git stash show
命令来检查储藏区中的更改,包括查看摘要和详细的差异(diff)。然后,你将学习如何使用 git stash list
来验证储藏区的存在和内容。最后,你将使用非空的储藏区来测试这些命令,以巩固你的理解。
在这个实验中,你将学习如何检查 Git 储藏区(stash)是否为空。我们将探讨不同的方法来检查和验证你的储藏区内容。
你将首先使用 git stash show
命令来检查储藏区中的更改,包括查看摘要和详细的差异(diff)。然后,你将学习如何使用 git stash list
来验证储藏区的存在和内容。最后,你将使用非空的储藏区来测试这些命令,以巩固你的理解。
git stash show
进行检查在这一步中,你将学习如何使用 git stash show
命令来检查存储在 Git 储藏区(stash)中的更改。
在检查储藏区之前,你需要先有一个储藏区。让我们创建一个简单的文件并将更改储藏起来。
首先,确保你位于项目目录中:
cd ~/project/my-time-machine
现在,创建一个名为 notes.txt
的新文件并添加一些内容:
echo "Important notes for the future." > notes.txt
检查状态以查看新文件:
git status
你应该会看到 notes.txt
被列为未跟踪的文件。
现在,让我们将这些更改储藏起来。这将保存更改而不提交它们,并清理你的工作目录:
git stash save "Add important notes"
你应该会看到输出,表明更改已保存且工作目录已清理。
现在我们有了一个储藏区,就可以使用 git stash show
来检查其内容。默认情况下,git stash show
会显示最近一次储藏的更改摘要。
运行以下命令:
git stash show
你应该会看到类似于以下的输出:
notes.txt | 1 +
1 file changed, 1 insertion(+)
此输出告诉我们,有一个文件(notes.txt
)被更改,并且添加了一行内容。
要查看实际的内容更改(差异,diff),你可以添加 -p
或 --patch
选项:
git stash show -p
这将显示储藏区中更改的差异,类似于 git diff
的工作方式。你应该会看到类似以下的内容:
diff --git a/notes.txt b/notes.txt
new file mode 100644
index 0000000..a1b2c3d
--- /dev/null
+++ b/notes.txt
@@ -0,0 +1 @@
+Important notes for the future.
此输出显示创建了一个新文件 notes.txt
,并添加了一行内容 "Important notes for the future."。
git stash show
命令对于快速检查储藏区中包含哪些更改非常有用,而无需应用这些更改。这有助于你决定稍后要应用或丢弃哪个储藏区。
git stash list
进行验证在这一步中,你将学习如何使用 git stash list
命令查看你创建的所有储藏区(stash)的列表。当你有多个储藏区,并且需要记住每个储藏区包含的内容时,这个命令非常有用。
确保你仍然位于项目目录中:
cd ~/project/my-time-machine
在上一步中,我们创建了一个储藏区。让我们使用 git stash list
来查看它。
运行以下命令:
git stash list
你应该会看到类似于以下的输出:
stash@{0}: On master: Add important notes
让我们来分析一下这个输出:
stash@{0}
:这是储藏区的名称。stash
表示它是一个储藏区,{0}
是该储藏区在列表中的索引。最近的储藏区总是位于索引 {0}
处。On master
:这告诉你创建储藏区时所在的分支。Add important notes
:这是我们使用 git stash save
创建储藏区时提供的消息。如果你没有提供消息,Git 会根据当前提交和更改的文件自动生成一条消息。如果你有多个储藏区,它们将按索引递增的顺序列出,如 stash@{0}
、stash@{1}
、stash@{2}
等等。
让我们再创建一个储藏区,看看列表会如何变化。
首先,修改我们在之前的实验中创建的 message.txt
文件:
echo "Adding another line for testing." >> message.txt
现在,将这些新更改储藏起来:
git stash save "Add another line to message"
再次运行 git stash list
:
git stash list
现在你应该会看到两个储藏区:
stash@{0}: On master: Add another line to message
stash@{1}: On master: Add important notes
注意,新的储藏区现在位于索引 {0}
处,而之前的储藏区移到了索引 {1}
处。Git 总是将最近的储藏区放在列表顶部,索引为 {0}
。
git stash list
命令对于管理多个储藏区至关重要。它能清晰地展示你保存的工作,让你在需要应用或丢弃特定储藏区时能够识别和引用它们。
在这一步中,你将练习对多个储藏区(stash)使用 git stash show
和 git stash list
命令,以加深理解。
确保你位于项目目录中:
cd ~/project/my-time-machine
目前你有两个储藏区。让我们再次列出它们,以便回顾:
git stash list
你应该会看到:
stash@{0}: On master: Add another line to message
stash@{1}: On master: Add important notes
现在,让我们检查第一个储藏区(stash@{0}
)的内容。你可以在命令中添加储藏区的索引来指定要查看的储藏区:
git stash show stash@{0}
这将显示最近一次储藏的更改摘要,也就是我们向 message.txt
文件添加一行内容的那次储藏。输出应该类似于:
message.txt | 1 +
1 file changed, 1 insertion(+)
要查看这个储藏区的差异(diff),可以使用 -p
选项:
git stash show -p stash@{0}
你应该会看到显示 message.txt
中添加行的差异内容。
现在,让我们检查第二个储藏区(stash@{1}
)。这是我们创建 notes.txt
文件时的储藏区。
git stash show stash@{1}
输出应该类似于:
notes.txt | 1 +
1 file changed, 1 insertion(+)
要查看这个储藏区的差异:
git stash show -p stash@{1}
这将显示创建 notes.txt
文件的差异内容。
当你保存了多组更改时,能够列出并检查单个储藏区至关重要。这能让你快速找到所需的储藏区,而无需逐个应用它们。
在接下来的实验中,你将学习如何应用和管理这些储藏区。
在本次实验中,你学习了如何使用 git stash show
命令检查 Git 储藏区(stash)的内容。首先,你创建了一个简单的文件,并将更改储藏起来,以便有一个储藏区可供操作。然后,你使用 git stash show
查看了最近一次储藏的更改摘要,包括更改的文件数量以及添加/删除的行数。你还探索了 git stash show
的 -p
或 --patch
选项,以查看储藏区内更改的实际差异(diff),从而能够看到具体添加、修改或删除的行。这个命令是一个非常有用的工具,能让你在不应用储藏区的情况下快速了解其内容。