2016-07-23 2 views
0

私のプロジェクトで私はメインリポジトリを持っていて、それをフォークしていくつかの変更を加えたシナリオがあります(15ファイルに約40コミット)。これらの変更をメインリポジトリにマージしたいと思います。私はメインブランチにPULLリクエストを行いましたが、最初に解決するには多くの競合があります。私は解決策をWebからいくつかのオプションに従ったが、適切な解決策を見つけることができませんでした。フォークされたレポをメインリポジトリにコンフリクトでマージする方法はありますか?

ローカルプロジェクトで同じシナリオをシミュレートしました。メインリポジトリはhttps://github.com/guntukaramakrishna/UtilsJava

です。フォークされたリポジトリはhttps://github.com/rksatniit/UtilsJavaです。

メインには1つのファイルに1つの変更があり、新しいファイルが追加されています。そして、フォークされたレポは2つのファイルにいくつかの変更を加えて作られました。これは私が同じシナリオをシミュレートしなければならないすべてのものです。

正しい手順で私を助けてください。

おかげで、よろしく
クリシュナ

答えて

0
  1. あなたのリモートメインリポジトリからできgit fetch origingit checkout branchローカルブランチ内のメインリポジトリをマージするgit rebase origin master
  2. 矛盾した場合、git rebaseは最初の問題のコミット時に停止し、矛盾のマーカーをツリーに残します。競合を解決する必要があります。
  3. 次に、あなたはgit add filenameです。
  4. 競合を解決したら、git rebase --continueを使用してリベース処理を続行できます。 git rebase command
  5. リモートにプッシュローカルブランチを、プルリクエスト、今git push --force origin branch
  6. を更新し、あなたのブランチ
0

をマージすることができますあなたは、いくつかのオプションがあります。

1)プル/マージ時に、プルリクエストの受信者が競合を解決できるようにします。

2元のレポをフォークにマージし、マージ中に競合を解決できます。その後、オリジナルは、(あなたがそれらを解決したので)矛盾することなくあなたのマージを引き出すことができます。

3)元のリポジトリの上にフォークをリベースし、リベース中に競合を解決することができます。次に、完全にマージする新しいoullリクエストを送信します。

12は、3がリポジトリ履歴を保存することに注意してください。

関連する問題