最近、暖かくなったり寒くなったりコロコロ変化する気温に翻弄されております。
この間初めて作業途中にgitの最新ブランチからpullしてくる必要がありました。
やり方を調べて実際にやってみたので知識の整理も兼ねて先ほどのトピックスについて説明していきたいと思います。
今回使った方法
今回使った方法としてはgit stash
で作業中のファイルを退避させる方法です。
作業を一旦commitし、後にこのcommitを上書きする形で最新のブランチをpullする方法もあるようなのですが、今回は次のcommitができるまでに時間がかかりそうだったのでファイルを退避させる方法を採用しました。
やり方
# git管理下にある編集中ファイルの退避
$ git stash
# masterのコミット履歴をリモートリポジトリまで進める
$ git checkout master
$ git pull origin master
# 作業中のブランチに戻ってくる
$ git checkout feature-branch
# masterブランチの修正内容を取り込む
# margeを使うと修正内容を混ぜるのでコミット履歴既にあると混ざって微妙な感じになる為
$ git rebase master
# 退避した修正内容を取り出して再適用
$ git stash pop
git stash
によって退避されるのはgitで追跡中かつ編集中のファイルです。
未追跡のファイルについては退避されませんでしたが気にせずpullしても何の問題もありませんでした。
また、注意点としてはrebase
後に
git stash pop
で取り出す時にコンフリクトしていたケースで
失敗すると修正内容が消し飛ぶ可能性があります。
参考・引用