私はいつも、git stash save stashname
でstashに名前を付け、後でgit stash apply stashname
でそれを適用することができるという印象を持っていました。しかし、この場合には、stashname
がstashの説明として使われるだけのようです。
実際にstashに名前をつける方法はないのでしょうか?もしないのであれば、同等の機能を実現するためには何が推奨されますか?基本的に、私は定期的に適用したい小さな隠し場所を持っていますが、常に git stash list
で実際の隠し場所の番号を探さなければならないのは嫌です。
このようにしています。
git stash save "my_stash"
ここで、"my_stash"
は隠し場所の名前です。
さらに便利なことがあります。すべてのスタッシュはスタックに格納されます。 型です。
git stash list
これはあなたのすべてのスタッシュをリストアップします。
スタッシュを適用して、スタッシュスタックから削除するには、次のように入力します。
git stash pop stash@{n}
隠し場所を適用して、隠し場所のスタックに保持するには、次のように入力します。
git stash apply stash@{n}
ここで、n
は隠した変更点のインデックスです。
大事だと思えば、隠し場所を枝にすることもできます。
git stash branch <branchname> [<stash>]
を man ページからダウンロードしてください。
これは、git stash save
を実行したブランチが十分に変更されたために git stash apply が衝突して失敗した場合などに便利です。stash は、git stash を実行した時点で HEAD だったコミットの上に適用されるので、コンフリクトのない元々の stash の状態を復元することができます。
後で、この新しいブランチをリベースして、stash したときの場所の子孫となる別の場所に移すことができます。