2012-01-22 14 views
104

ブランチ(ローカルとリモート)が古くなっているGitリポジトリがあります。私はこのブランチをmasterブランチと一緒に持っていきたいと思っていますが、これをどうやって行うのか分かりません。たぶん多くのマージ競合もあります。Gitリポジトリのmasterに対して古いブランチを更新する

この古いブランチをmasterブランチと同じ状態にするか、または更新するにはどうすればよいですか?

+1

地元のブランチで何か変更を加えた後、単純に "git pull"を実行した場合、Gitリポジトリのマスターに対して古くなったブランチを更新する方法を知りたければ、ここに来てください。 – shabby

答えて

132

マスターブランチを更新します。これは、関係なく行う必要があります。

その後、の1:

  1. はマスターブランチに対する古いブランチをリベース。リベース中にマージの競合を解決すると、結果はマスターに対して完全にマージする最新のブランチになります。

  2. ブランチをマスターにマージし、マージの競合を解決します。

  3. ブランチにマスターをマージし、マージの競合を解決します。その後、ブランチからマスターへのマージはクリーンでなければなりません。

これらのいずれも他のものより優れているわけではありませんが、トレードオフのパターンが異なります。

私は私の意見では、後で読者にクリーナー全体的な結果を与える、リベースのアプローチを使用しますが、それは個人的な好みは別に何もありません。それはマスターに対して再構築を取得し、その後、

git rebase master 

をお使いの場合には

git checkout <branch> && git rebase <target> 

、古いブランチをチェックアウト:リベースとあなたが希望ブランチを維持するために

+0

rebaseして保存するコマンドブランチ? – Andrew

+1

@Andrew: 'Gitのrebase' :) – CharlesB

+1

' gitのチェックアウト$枝&& Gitのリベースする$ target' - あなたのケースでは、その後、 'gitのは、それがマスターに対して再構築を取得するmaster'をリベース、古い枝をチェックしてください。 –

関連する問題