我尝试使用以下方法保存git状态:git stash save changes_1。 我可以使用:git stash list
查看存储列表但是当我尝试使用以下方法应用存储:git stash apply stash @ {0}。 现在,我看不到任何更改正在使用git diff进行更新。它显示的信息“已经上传!”
因此,简而言之,git stash无法应用保存的更改。 任何帮助。
答案 0 :(得分:2)
当先前应用存储或应用存储时,会发生这种情况。当前分支已经有了这些变化。请考虑以下情形:
$ git diff
diff --git a/test.txt b/test.txt
index e69de29..9daeafb 100644
--- a/test.txt
+++ b/test.txt
@@ -0,0 +1 @@
+test
$ git stash
Saved working directory and index state WIP on master: b1d46d2 test.txt
HEAD is now at b1d46d2 test.txt
现在我们手动重新添加该行并提交它:
$ git diff
diff --git a/test.txt b/test.txt
index e69de29..9daeafb 100644
--- a/test.txt
+++ b/test.txt
@@ -0,0 +1 @@
+test
$ git commit -a
[master 8efb415] test.txt
1 files changed, 1 insertions(+), 0 deletions(-)
$ git stash list
stash@{0}: WIP on master: b1d46d2 test.txt
$ git stash apply stash@{0}
# On branch master
nothing to commit (working directory clean)
此处git stash apply
无效。
答案 1 :(得分:1)
尝试git status -s以查看更改是否存在。
如果他们在那里你们都设置了,如果不是使用git存储列表并确保你保存的存储位于索引0.如果你尝试应用一个已经有工作分支的变化的存储,它将是已经是最新的。
如果您需要,可以将当前分支重置为上次提交。 Git重置 - 硬HEAD,然后尝试再次应用该存储。注意所有当前的变化都不会被搁置,而且未被推送的承诺将会丢失。