2012-05-14 4 views
4

는 그것에서 모든 지점을 검색합니다망할 놈의 체크 아웃 원격 지사는

git clone https://github.com/android/platform_build.git build1 
cd build1/ && git branch -a && cd .. 

을 한 후, 나는 거울로 build1를 사용하고 복제 할 때, 내가 볼 수없는 모든 원격 가지

git clone build1 build2 
cd build2 && git branch -a && cd .. 

가 어떻게 원격 지점의 원격 체크 아웃 할 수 있습니다 (난 단지 build1의 로컬 마스터 지점 참조)?

은 내가 build1 디렉토리에 액세스 할 수없는 경우 나 명령

cd build1 && for remote in `git branch -r `; do git branch --track $remote; done 

Track all remote git branches as local branches 하지만 함께 build1 거울에 모든 원격 브랜치를 체크 아웃 할 수 있다는 것을 알고?

또한 모든 원격 조회를 보여주는 git ls-remote origin 명령이 있지만 원격 분기의 원격 원격을 체크 아웃하는 우아한 방법이 있습니까? 당신이 build1build2에 복제 후

+0

'git : //'를 사용하여'https : // '대신 제안 할 수 있습니까? 가져 오기는 사용자와 서버 모두에 훨씬 효율적입니다. – jthill

답변

1

build1build2origin이며, build2는 "원격"지점이 살고있는 곳이다 아무것도에 대한 https://github.com/android/platform_build.git을 모른다. 한 가지 해결책은 리모컨으로 https://github.com/android/platform_build.gitbuild2의 구성에 추가하는 것입니다. 추가하려면 원격 github 전화 : 당신이 git branch -a을 실행할 때 접두사들과 일치 remotes/github/로 시작 지점을 볼 수 지금

git fetch github 

:

git remote add github https://github.com/android/platform_build.git 

그런 다음 원격 가지를 얻을 수있는 fetch을 실행 remotes/origin in build1.

한편 build2에는 build1의 관점에서 원격 분기를 추적하는 분기를 포함하여 build1에 각 로컬 분기에 대한 원격 분기가 있어야합니다. 예를 들어, github에 foo이라는 브랜치가 있다면 에 build1으로 표시됩니다. build1 (foo이라고도 함)의 해당 원격 지점을 추적하기 위해 로컬 분기를 설정하는 경우 build2remotes/origin/foo이어야합니다. 그런 다음 foobuild1에서 업데이트되고 github의 foo에서 변경 사항을 가져 오거나 병합하면 fetch/pull 이후에 변경 사항이 build2에 표시됩니다.