2012-07-10 2 views
0

저는 gitorious의 개발자 팀 구성원입니다. 그러나 더 큰 기능을 수행하기 위해 저장소를 복제했습니다 (로컬이 아닌 gitorious). 이제는 "프로젝트"(원래 저장소)와 "my-project"(서버 측 복제본)의 두 가지 멋진 프로젝트가 있습니다.저장소가 두 개 이상있는 gitorious work

내 질문은 :이 두 저장소를 사용하여 작업하는 가장 좋은 방법은 무엇입니까? 물론 두 개의 다른 디렉토리에서 로컬로 복제 할 수 있으며 on 또는 다른 디렉토리에서 작업 할 수 있습니다. 하지만 내 변화를 다시 모으는 것은 상당히 복잡 할 수 있습니다. 아마도 한 쪽에서 병합 요청을 시작하고 다른 쪽에서 동의해야 할 것입니다.

내가 원했던 것, 가능한지 전혀 모른다 : 주 프로젝트의 로컬 복제본을 만들고 "my-project"를 지점이나 비슷한 것으로 로컬로 통합하여 두 저장소를 쉽게 전환 할 수 있습니다. , 체리 - 하나에서 다른쪽으로 선택하십시오.

이렇게 할 수 있습니까? 또는 둘 이상의 (서버 측) 복제본을 사용하여 작업하는 가장 좋은 방법은 무엇입니까?

감사합니다.

답변

0

git remote add을 사용하여 두 번째 리모컨을 로컬 저장소에 추가하십시오. 이 명령은 그것에서 분기 심판을 원격 소위 "개인"으로 서버 측 gitorious 클론을 추가하고 가져올 것이다 :

git remote add personal <path_to_server_side_clone> 
git fetch personal 

당신은 다른 지점을 사용하지 않습니다. 실제로, 당신의 역사 (단지 하나의 지점에 대한 간체) 근무하는 동안 다음과 같이 보일 것입니다 :

origin/master 
     | 
A-B-C-D-E-F-G master 
     | 
personal/master 

위의 그림에서, originD에의 점의 마스터 분기점은 E, personal를 저지하기 위해 ' , 그리고 로컬 master의 분기 팁은 G입니다. origin의 안정성이 매우 중요하다고 가정합니다. 즉, 시스템에 테스트 스위트가 전달 된 후에 만 ​​밀어 넣기 만하면됩니다. 그래도 일일 작업을 저장하고 싶습니까? 이는 정확히 personal 저장소의 목적입니다.

origin/master 
     | 
A-B-C-D-E-F-G master 
      | 
    personal/master 

personal 원격의 mastermaster의 로컬 사본이 동기화에있다 : git push personal master는 그림과 같이 변경합니다. 실제로

 origin/master 
      | 
A-B-C-D-E-F-G master 
      | 
    personal/master 

, 당신은 그들 사이의 지점에 두 원격 공유의 세트를 넣거나, 하나의 깨끗하고 전체를 유지하도록 선택할 수 있습니다 : 당신이 당신의 테스트 스위트를 실행 한 후에는이 상태를 산출 git push origin master를 발행 완성 된 토픽 브랜치의 그것은 당신에게 달려 있습니다. tig 또는 gitk과 같은 히스토리 시각화 소프트웨어를 사용하는 것이 좋습니다. 둘 다 원격 상태가 쉬운 곳을 시각화합니다.

원하는대로이 아이디어를 사용할 수 있습니다. 직장에서 동료들 (개인적으로 gitorious를 사용하는 모든 사람들)을위한 리모컨이 있습니다.이 모든 서버에는 개인용 서버 측 클론이 있습니다.거의 모든 워크 플로가 개인 원격 복제본의 이점을 누릴 수 있습니다.

관련 문제