查看 Git 中的缓存条目列表
我们经常需要暂停工作并专注于开发环境中的其他事情。因此,我们可能需要暂时保存当前的工作并专注于不同的工作。我们稍后想恢复我们原来的工作。
git stash
命令提供了 Git 的 stash 功能,它允许我们临时保存我们对手头工作所做的更改。它将使我们能够稍后通过从临时缓存中检索它来恢复我们的工作。
我们可以多次做这个临时保存工作的操作。因此,我们希望查看此类缓存条目的列表及其内容。git stash
命令为我们提供了浏览缓存条目列表的选项。
本教程将学习如何在 Git 中查看缓存条目列表。我们现在将用一个例子来说明这一点。
在 Git 中查看 Stash 条目列表
git stash
命令允许我们记录项目仓库工作目录的当前状态。它还允许我们保存索引的当前状态。
git stash
命令保存本地更改并恢复工作目录以匹配 HEAD
提交。我们可以多次执行搁置工作副本上的更改的操作。
因此,在多次执行缓存之后,我们现在在项目的 Git 仓库中有一个缓存条目列表。我们可以使用 git stash list
命令查看缓存条目列表。
我们创建的最新缓存条目缓存在 refs/stash
中。较旧的缓存可在此参考的 reflog
中找到。最新创建的缓存条目名为 stash@{0}
。它之前的名称为 stash@{1}
,依此类推。
可以通过指定缓存索引来引用缓存。例如,整数 n
等价于 stash@{n}
。
创建一些缓存条目后,我们可以像这样查看它们。
$ git stash list
stash@{0}: WIP on main: b14f387 some work
stash@{1}: WIP on main: b14f387 some other work
stash@{2}: WIP on main: b14f387 some older work
如上所示,我们可以在 Git 仓库的 main
分支中看到三个缓存条目的列表。我们还可以查看每个 stash 条目的内容。
要查看最新缓存条目中的文件,我们需要遵循。
$ git stash show
test.txt | 4 ++++
1 file changed, 4 insertions(+)
我们可以看到 test.txt
最近被隐藏了。
要查看最近 stash 条目中文件的更改,我们需要执行以下操作。
$ git stash show -p
diff --git a/test.txt b/test.txt
index fae50f7..f60e878 100644
--- a/test.txt
+++ b/test.txt
@@ -73,4 +73,16 This test
some old text
+ some new text
+1. Add this
+2. Add that
+
git stash show
命令将缓存条目中记录的更改显示为缓存内容与首次创建缓存条目时返回的提交之间的差异。
我们还可以使用名称查看特定的缓存。我们需要在 git stash show -p <named-stash>
中提供名称。
因此,要查看名为 stash@{1}
的缓存条目,我们将执行以下命令。
$ git stash show -p stash@{1}
我们还可以看到跨分支的缓存条目,而不仅仅是当前的。为此,我们需要执行以下命令。
$ git stash list --all
我们还可以按日期范围查看 Git 中的缓存历史记录。我们需要使用带有选项 --before
或 --after
的命令 git stash list
。
我们可以执行日期范围如下的命令。
$ git stash list --before 3.days.ago
$ git stash list --after 2.days.ago
我们可以使用 -stat
选项来总结 git stash 历史中每个元素的变化。如下所示,我们可以使用 -stat
选项执行命令。
$ git stash list --stat
因此,我们展示了如何在 Git 中查看缓存条目列表。