Gitを利用しながら作業していると、ローカル開発環境でmasterにマージした時などマージコミットが発生して、リモートブランチと整合性がとれなくなってしまう場合があります。(まあ、masterは基本触らないけど、つい実験してみたくなったりね。。)
Gitのステータスを見てみます。
Git
$ git status
On branch master
Your branch is ahead of 'origin/master' by 3 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
例としてこんな感じでorigin/master commits数に相違があることがわかります。masterに直接pushするのは、運用ポリシーによるかもだけど、プルリク体制などから考えてみてもありえない(masterへの直接プッシュはさせない、プロテクトされているべき)です。
別に作業自体に問題はありませんが、origin/masterと少しでも相違があることは気持ちが悪い?のでバックアップ的にローカルにmasterブランチを退避させときながら、キチンと合わせることにしました。
ローカルのmasterを退避させつつ、origin/masterと同期させる
step
1ローカルのmasterブランチの名前を変更(退避)
command
// ※masterにcheckout済みであること
$ git branch -m prev-master
step
2リモート追跡ブランチを最新にする
command
$ git fetch origin
step
3originから取得したmasterブランチにcheckout
command
$ git checkout master
step
4最後に確認
command
$ git status
On branch master
Your branch is up to date with 'origin/master'.
nothing to commit, working tree clean
noting to commitであり、working tree cleanです。完全に同じです。
意外と簡単にできるので、「とりあえずmasterをorigin/masterと同じにしたい!」という方は試してみてはいかがでしょうか。