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

Git作業中に他ブランチを取り込みたくなったけど、エラーを吐いたので対処方法を調べてみた。

目次

状況

修正中に、どうしても取り込みたいブランチがあったけど、まだCommitはしたくない。

対応方法

stashmergeapply

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」を使うことで世界が変わった。

git pullした時に、「error invalid path」というエラーが出たので解決する

今後のことを考え、WordPressの記事をGitで管理しGithubに一元管理することにした

変更したファイルを最短でPushするGitコマンド

この記事に対するコメント

お気軽にコメントを下さい

メールアドレスが公開されることはありません。 が付いている欄は必須項目です