localでdevelop branchからlocal branchをきって開発してるときにだれかがorigin developにmergeした場合どうするとよいかメモする。
自分のlocal branchからlocal developにswitchしてgit pull origin develop
したいが、local branchの改修がcommitされてないと怒られる。commitしてもよいがかなりざっくり改修中の場合はあまりcommitしたくない。その場合はlocal branchでgit stash
する。これは改修の一時退避コマンド。
git stash
git checkout develop
git pull origin develop
git checkout local branch
git stash pop
この順番でやれば、最新developを取り込んだうえで自分の改修もlocalに反映できる。
なおstashコマンドは以下。
git stash pop
//一時退避を元にもどすgit stash list
//一時退避の確認git stash clear
//一時退避の消去
stashはconflictが発生する場合があり、エディターでちまちまやってもいいが、commit側か、stash側かを一挙に選択できる。
git checkout --ours .
//現在のコミットを採用する場合git checkout --theirs .
//stashを採用する場合