📅  最后修改于: 2023-12-03 14:55:36.937000             🧑  作者: Mango
在Git中,我们可以使用git stash
命令来临时隐藏一些更改,以便我们可以先暂时切换到其他分支或者修复bug,而不必担心更改会被提交。但是,有时候我们可能会忘记要提交这些隐藏的更改,这时候我们就需要使用git stash
命令的另一个功能来查看和恢复这些更改。本篇将会介绍如何查看隐藏的更改。
首先,我们可以使用git stash list
命令来查看已经隐藏的更改列表。这个命令会列出当前分支中所隐藏的所有更改的列表,以及这个隐藏操作的提交说明。
$ git stash list
stash@{0}: WIP on master: 4ec55a5 Add new file
stash@{1}: WIP on master: b6277fb Update file
这个列表中每一行包括了一个stash
对象的名字和提交说明。例如,在上面的例子中,我们有两个stash
对象,它们的名字分别是stash@{0}
和stash@{1}
。这两个对象分别包含了两次隐藏的更改操作。
接下来,我们可以使用git stash show
命令来查看任何一个stash
对象中所隐藏的更改。例如,我们可以使用以下命令来查看stash@{1}
中所隐藏的更改:
$ git stash show stash@{1}
file.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
这个命令会显示隐藏的更改包含哪些文件的哪些具体修改。
如果我们想要查看所有隐藏的更改,可以使用git stash show -p
命令。这个命令会显示多个stash
对象中所有更改的总和。
$ git stash show -p
diff --git a/file.txt b/file.txt
index dc7b26a..2c98dba 100644
--- a/file.txt
+++ b/file.txt
@@ -1 +1 @@
-hello world
+hello git
如果我们想要恢复某个stash
对象中所隐藏的更改,可以使用以下命令:
$ git stash apply stash@{1}
这个命令将会把stash@{1}
中所隐藏的更改应用到当前的工作目录中,但是这个stash
对象并不会被从列表中移除。如果我们想要移除这个stash
对象,可以使用以下命令:
$ git stash drop stash@{1}
如果我们想要一次性恢复并删除所有隐藏的更改,可以使用以下命令:
$ git stash pop
这个命令将会应用最新的stash
对象中所隐藏的更改,并将这个stash
对象从列表中移除。
通过使用git stash list
命令查看隐藏的更改列表,使用git stash show
命令查看隐藏的更改内容,以及使用git stash apply
和git stash drop
命令恢复和删除隐藏的更改,我们可以方便地管理并且随时查看和恢复我们隐藏的更改。