Gitブランチで作業中に他ブランチをmergeしたくなったけど、現在の作業をまだmergeしたくない時の対処方法はstashする

状況 修正中に、どうしても取り込みたいブランチがあったけど、まだ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 わからなくならないように適宜、削除する。

投稿日 · 2023-01-01 · 更新日 · 2024-06-07 · 1 分 · nove-b