git stash 適用バージョン 質問する

git stash 適用バージョン 質問する

2つのブランチがあります: マスター | デザイン

デザインで作業中に、スタッシュを作成してマスターに切り替え、いくつかの調整を行いました。デザインに戻って を実行したところ、stash applyデザイン ブランチで行った変更がすべて失われました。

これらをクリアまたは削除していないため、すべての作業が保管場所内にあることを願っています。

スタッシュリストを実行すると、4 つの結果が得られます。

stash@{0}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{1}: WIP on design: f2c0c72... Adjust Password Recover Email
stash@{2}: WIP on design: eb65635... Email Adjust
stash@{3}: WIP on design: eb65635... Email Adjust

試してみるとgit stash apply f2c0c72エラーが発生します:

fatal: Needed a single revision
f2c0c72: no valid stashed state found

特定のスタッシュを適用するにはどうすればよいですか?

ベストアンサー1

隠し場所への鍵は、実際にはstash@{n}左側にあるアイテムです。次の操作を試してください:

git stash apply stash@{0}

"stash@{0}"( zsh、fish、powershell などの一部のシェルでは引用符で囲む必要があることに注意してください)。

バージョン 2.11 以降では、非常に簡単に、 を使用する代わりに N スタック番号を使用できますstash@{n}。そのため、次のようにする代わりに:

git stash apply "stash@{n}"

次のように入力できます:

git stash apply n

スタッシュのリストを取得するには:

git stash list

実際には、stash@{0}git には切り替え可能なリビジョンがありますが、git stash apply ...それを現在の場所に適用するには DTRT を実行する方法を理解する必要があります。

おすすめ記事