2016-08-13 11 views
0

3 git reposと履歴をマージして、2つのreposで別のブランチをプッシュして、MainRepoにマージ要求をしたいと思っています。 私はMainRepo、ARepo、BRepoを持っています。その結果、私はnew_branchを取得する必要がありますので、私はARepoとBRepoをMainRepoにマージします。 この新しいブランチを私のprivateRepoにプッシュする必要があります。 また、私はいくつかのブランチ(後で安定版として作成される)をpublicRepoにプッシュできるようにしたいと思います。最後に、私はMainRepoへのマージ要求ができることを望みます。 これを実現するにはgitプロジェクトを構成する必要がありますか?3 git reposをマージして2つの異なるリポジトリをプッシュできる

+0

「ARepo」、「BRepo」、および「MainRepo」は共通の履歴または構造を持っていますか?そうでなければ困難な作業であることをマージするかもしれません。 –

+0

彼らはしません。始めに、私はモジュールごとに新しいプロジェクトを分けて考えました。それらはすべてmaven構造を使用します。そして、マージンコードを開始します。メインとBのrepoはgithub reposで、プライベートレポはbitbucketでホストされます。 –

答えて

1

だから、私はあなたの地元のMainRepoに、この一連のコマンドのようなものでいいと思う:

> git checkout -b merge-others 
> git remote add ARepo https://a_repo.git # Replace with proper URL 
> git remote add BRepo https://b_repo.git # Replace with proper URL 

これまでのところ、あなたがやったすべては、他のMainRepoが認識されています。

> git fetch ARepo 
> git fetch BRepo 

これは、2つのリモートからブランチ/コミット情報を取得します。その後、他の二つから適切な枝にマージ:

> git merge ARepo/master # Resolve any merge conflicts 
> git merge BRepo/master # Resolve any merge conflicts 

最後に、あなたがあなたのプライベートおよびパブリックリポジトリにプッシュする:MainRepoためのプル要求するよう

> git remote add privateRepo https://private_repo.git # Replace with proper URL 
> git push -u privateRepo HEAD 
> git remote add publicRepo https://public_repo.git # Replace with proper URL 
> git push -u publicRepo HEAD 

、それが依存あなたのプラットフォームで。あなたがGitHubを使用しているなら、それは簡単ですが、他のプラットフォームでは話すことができません。がんばろう!

関連する問題