Git サーバー

[git]local-masterをorigin-masterと同期させる方法

※本サイトはPR表記を含みます。

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
3
originから取得した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と同じにしたい!」という方は試してみてはいかがでしょうか。

-Git, サーバー
-,