「あ、間違えて違うブランチでファイル変更しちゃった」ときの対処法【git stash】
投稿日: 2024年12月16日
ブランチA
で作業しなくてはいけないのに、ブランチB
で作業してしまった。。
しかも、結構たくさんのファイルを変更してしまった。。
差分がある状態でブランチA
に移動しようとするとエラーが出るし、ブランチB
にコミットはしたくない。。
差分を加えたファイル全て手作業でコピーして、どこかに退避させる??
めっちゃだるいよ??
こんな時に使えるのが git stash
コマンドです。
↓ 例として、feat/blog
ブランチで作業したかったのに、main
ブランチで差分を加えてしまったとします。
↓git stash
コマンドを打ちます。
↓差分が消えます。(一時退避された状態になります。)
↓元々作業したかったfeat/blog
ブランチに移動します。
↓git stash pop
コマンドを打ちます。
↓退避させていた差分が復元します!
これで、feat/blog
ブランチに差分を移動させることができました。
git stash
コマンドでは、複数の差分を登録することができます。
git stash
コマンドを連続で行うと、古い方が消えるわけでなく、配列式で記録が増えていきます。
git stash
した差分の一覧を見たい時は、git stash list
コマンドで一覧表示できます。
git stash pop
コマンドは、最後にgit stash
した履歴を復元するコマンドですが、
n番目の履歴を復元したい場合は、git stash pop stash@{n}
と打つことで、n番目の退避データを復元することができます。