git stash

2021-07-24 hit count image

Gitでgit stashを使うため、現在作業中の内容を臨時的に保存する方法について説明します。

概要

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で開発されています。

興味がある方はアプリをダウンロードしてアプリを使ってくれると本当に助かります。

Posts