Gitブランチで作業中に他ブランチをmergeしたくなったけど、現在の作業をまだmergeしたくない時の対処方法はstashする
投稿日:2023年01月01日
最終更新日:2023年02月27日
Git作業中に他ブランチを取り込みたくなったけど、エラーを吐いたので対処方法を調べてみた。
目次
状況
修正中に、どうしても取り込みたいブランチがあったけど、まだCommitはしたくない。
対応方法
stash
→merge
→apply
git stash save で一時的に保存する
git stash save
上記だと何ためにstash
するのかわからなくなるのでコメントを付けることが推奨される。
git stash save "任意のメッセージ"
実行すると、変更履歴から消えるが、新規作成したファイルは削除されないので、変更履歴に残り続ける。
なお、残り続けているファイルは退避できていないということなので、安易に消さないようにした方がいい。
※stash
は未追跡のファイルを退避してくれない。未追跡のファイルも含めたいときは-u
オプションを付ける必要がある。
git stash list で保存できているか確認する
git stash list
// => 「stash@{番号}」: On 「ブランチ名」: 「メッセージ」
上記のように表示できていれば問題ない。
作業を行う
ここで本来やりたかったことに着手する。
今回であれば取り込みたいブランチをマージする。
git stash apply で保存データを復旧する
git stash apply 復旧したいstash名
名前を省略すると、一番最新のstashを復旧されるので、最新のものを復旧する際は名前なしで問題ない。
復旧できたことが確認できればOK。
git stash drop で保存データを削除する
git stash drop
わからなくならないように適宜、削除する。
次に読むおすすめ記事
WardPressの管理をGit Flowで管理していたが、VSCodeの拡張機能「WordPress Post」を使うことで世界が変わった。
この記事に対するコメント