2011-02-03 16 views
2

私はGITの基本的な機能以外は何も新しくはありません。ここにシナリオがあります。複数のGITリポジトリからの変更をマージしますか?

は私が持っている複数のGITレポさん:

  • Torque3D.git
  • Torque3Dのソースを収容するTorque3D.git MyGame.git

。 Garage Gamesは、ソースダンプの形で更新を提供します(CSMアクセスなし)。 Garage Gamesがアップデートを提供すると、Torque3D.gitはこれらの変更で更新されます。

MyGame.gitはもともとTorque3D.gitからクローン化されており、必要に応じてTorque3D.gitからその変更を取得します。このシナリオでは、私は常にTorque3D.gitからすべての変更を引き出しています。これは正常に動作します。

しかし、私たちはMyGame.gitでエンジンを変更するので、特定の変更をTorque3D.gitにプッシュしたい場合がありますが、これまでにMyGame.gitに加えられたすべての変更は反映されません。

このようなアクセスを許可するにはどうすればよいですか?

+0

頭字語ではなく、GitではなくGITです –

答えて

1

Amberは言ったように、おそらくあなたはこれらの変更で別のブランチを作成したいと思うでしょう。ここで私はMyGame枝を持つGitのレポ、およびT3Dレポを追跡するように設定Torque3D枝からどうなるのかです:

# should already have: git remote add t3d git://any/url/or/path/to/your/Torque3D.git 
# should already have: git remote add origin git://any/url/or/path/to/your/MyGame.git 
git checkout -b patchedT3D t3d/master 
# use git log origin/master and find hashes of changes you want. For each: 
git cherry-pick c3df34262 # do this to add a rev's changes to Torque3d 
# manually patch in whatever you want and commit if you have to 
git push t3d +patchedT3D 
# or push to whichever branch you want to have your changes with patchedT3D:<whatever> 
git checkout -b withPatched origin/master 
git merge --strategy=ours patchedT3D -m "mark your MyGame trunk as using the patched T3D changes so they don't get re-merged in later" 
git push origin withPatched:master 

あなたにこれを実行する一つの潜在的なプロセスの概要を与える必要があること。

1

Torque3Dにプッシュバックしたい変更だけで別のブランチを作成し、そのブランチからTorque3Dレポにプルします。

関連する問題