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
わからなくならないように適宜、削除する。
次に読むおすすめ記事
git pullした時に、「error invalid path」というエラーが出たので解決する
今後のことを考え、WordPressの記事をGitで管理しGithubに一元管理することにした
WardPressの管理をGit Flowで管理していたが、VSCodeの拡張機能「WordPress Post」を使うことで世界が変わった。
この記事に対するコメント