2011-10-04 10 views
2

git stash save changes_1を使用してgit状態を保存しようとしました。 stash listを見るには:git stash listgit stash保存された変更を適用できません

しかし、私がstashを適用しようとすると、git stash apply stash @ {0}が適用されます。 git diffで変更が更新されていないことがわかりました。それはメッセージ「既にuptodate!」を表示しています

だから、短いgit stashで保存された変更を適用することができません。 助けてください。

+3

'git stash list'と' git status'の出力を投稿できますか? –

+0

私はおそらく、私はこれのようなエンディングにいくつかの間違いをしたと思います。どのように私はそれらの変更を覚えて手動でそれらをコード化...あなたの助けをありがとう。この質問を閉じるために自分自身を投票する – kumar

答えて

1

git status -sを試して、変更があるかどうかを確認してください。

git stash listを使用しない場合は、すべて設定されています。保存されたstashがインデックス0になっていることを確認してください。すでに作業ブランチに含まれている変更を含むstashを適用しようとすると、すでに最新の状態であること。

現在のブランチを最後のコミットにリセットすることができます。 Gitをリセットしてください - HEADをしてから、その隠し場所をもう一度適用してみてください。現在の変更が隠されず、プッシュされていないコミットが失われるので気をつけてください。

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 
[email protected]{0}: WIP on master: b1d46d2 test.txt 

$ git stash apply [email protected]{0} 
# On branch master 
nothing to commit (working directory clean) 

ここgit stash applyは何もしません。

関連する問題