概要
Gitでソースコードのバージョンを管理する時、新しい機能を開発する際に、サービスでバグが発生してバグを修正する場合があります。この時、バグを修正するため、新しいブランチを作る必要がありますが、現在、開発中の機能がコミットされてないので、ブランチを作ったり、他のブランチに移動することができません。
この時、現在作業中の内容をコミットすることもできますが、作業が終わってない状態なので、コミットするには足りないです。こと時、使えることがgit stash
です。
今回のブログポストではgit stash
を使う方法について説明します。
保存
git stash
はGitでバージョン管理をしているファイルの修正内容を臨時的保存する機能です。次のコマンドを使って現在修正中の内容を保存することができます。
git stash
git stash
はGitでバージョン管理をしているファイルたちの修正内容を臨時的保存するので、新しいファイルは保存されません。新しく生成されたファイルも一緒に保存したい場合は、git add
で新しく生成されたファイルたちをGitで管理するようにして、git stash
を使って保存する必要があります。
git add .
git stash
リスト
git stash
を使って保存すると、スタック(Stack)形式で修正内容が保存されます。このように保存されたリストを確認するためには次のようにlist
オプションを使う必要があります。
git stash list
このコマンドを実行すると、次のように変更内容が保存されたリストが確認できます。
stash@{0}: WIP on main: 79fb440 Merge branch 'develop' into main
読み込み
そしたら、このように保存された内容を再び読み込む方法について説明します。git stash
に保存された内容を読み込むためにはapply
オプションを使います。
git stash apply
このように保存されたstash
を読んで現在のブランチに反映させることができますが、git stash list
を使ってstashのリストを確認すると、まだ、保存された情報が残ってることが確認できます。
git stash list
# stash@{0}: WIP on main: 79fb440 Merge branch 'develop' into main
このように残ってる情報はdrop
オプションを使って削除することができます。
git stash drop
もし、保存された内容を適用して、使った情報をすぐに削除したい場合は、pop
オプションを使えば良いです。
git stash pop
# git stash apply
# git stash drop
完了
これでgit stash
を使って修正してる内容を臨時的に保存する方法についてみてみました。git stash
を使う時には、コミットやgit add
で追加されたファイルだけ臨時保存されるので、注意する必要があります。これで皆さんもgit stash
を使って、現在修正中の内容を臨時的保存して、他のブランチに移動してみてください。
私のブログが役に立ちましたか?下にコメントを残してください。それは私にとって大きな大きな力になります!
アプリ広報
Deku
が開発したアプリを使ってみてください。Deku
が開発したアプリはFlutterで開発されています。興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。