2012-03-31 6 views
0

Github(http://www.github.com/intridea/grape)にプロジェクトのフォークがあり、ブランチ(フロンティア - >マスター)のメジャーマージを行いました。それはリベースのようです。オープンソースがメジャーアップデートを行いました。私はマージできません

フォークに入り、git rebase upstream/masterを実行すると、マージ競合が発生します。私は理由は分かりませんが、READMEで失敗します。私はreadmeをコミットしませんでした。

私のフォークブランチを破壊することなくマスターを最新にするにはどうすればよいですか?

+0

変更を隠してからプルした後に適用しますか? –

+0

私は変更がありません。清潔な作業ツリー。 –

答えて

0

あなたのコメントから、あなたが保持しなければならないマスターブランチにあなた自身のコミットがないことが分かりました。その場合は、git fetchすべてのリモートコミットを行い、masterヘッドポイントを正しいハッシュにすることができます。 git reset <hash>を使用するか、手動で.git/ref/heads/masterファイルを編集してください。

ブランチの変更をマスタでリベースして、それらをマージすることができなくなる可能性がありますが、通常は常にマージされます。

0

アップストリームで分岐がリベースされた場合(大きなno-no)、リバース前のアップストリームコミット(変更後README)がポストリベースアップストリームコミットとマージされている可能性があります(README) 。

ローカルリポジトリにコミットしていない場合は、単にgit reset --hard @{u}を実行して、ローカルブランチをアップストリームブランチと一致させることができます。

コミットを行い、上流ブランチがリベースされた場合、修正は非常に複雑で、リポジトリの状態によって異なります。 (これは、他人とすでに共有されているコミットを再配布するのは失礼です。)一般的な助けについては、git help rebaseの "Upstream Rebaseからの回復"を参照してください。

関連する問題