2011-02-03 4 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가 아닙니다. –

답변

1

Amber가 말했듯이, 아마도 이러한 변경 사항과 별도의 분기를 만들고 싶을 것입니다. 여기가 MyGame이 분기와 자식의 repo 및 T3D의 REPO을 추적하기 위해 설정 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 repo로 당깁니다.

관련 문제