2013-04-02 1 views
25

나는 이것을 올바르게 묻는 방법을 잘 모르지만 최선을 다할 것입니다. 나는 열렬한 열렬한 열정을 가진 사람이 아닙니다. 나는 알고 있습니다. how 기본 명령을 사용합니다. 고급 용어/기능은 아닙니다.힘내 - 각 지점마다 다른 원격

개인 서버 git.mydomain.com에서 개인 저장소 myrepo을 복제했습니다.

Repo  Branch  Remote Location (Purpose) 
------------------------------------------------------------ 
myrepo --> private --> git.mydomain.com (Incremental work) 
    | 
    +------> public --> github.com  (Public releases) 

기본적으로 내가 좋아하는 것 : - 내가 git checkout -b mybranch와 같은 저장소에 코드를 분기하는 과정을 잘 알고 있어요 그러나 나는이 같은 결과가 아니라 내 개인 서버보다 GitHub의에 분기 싶습니다 git checkout publicgit merge private 수 있습니다. 망할 놈의 1.8.0의로

:

git branch -u origin/foo foo 

참고 :

+0

준비가되면 다른 출처 (Github)로 해당 분기를 푸시하기 만하면됩니까? – noisewaterphd

답변

30

이러한 명령을 사용하여 개별 지점에 대한 다른 서버로 밀어 다른 지점을 설정할 수있는 마지막 foo하는 경우 빠져있다면 현재 브랜치를 선택할 것입니다. 망할 놈의 1.7.0의로

:

git branch --set-upstream foo origin/foo 

귀하의 경우에, 당신은 두 개의 리모트 (사용자 도메인과 github에)를 추가하고 개별적으로 밀어 각 지점을 설정하여 사용할 수 있습니다.

git branch -u mydomain/private private 
git branch -u github/public public 

후 :

git remote add github git://github.com/foo/myrepo.git 
git remote add mydomain git://git.mydomain.com/foo/myrepo.git 

그런 다음 적절한 장소에 밀어 가지를 설정 : 아직받지 못한 경우는 리모컨을 추가해야합니다

을 : 그것은 다음과 같이 보일 수 있습니다 이 모든 설정이 끝나면 git pushgit pull을 사용하여 밀고 당길 수 있습니다. 공개 브랜치에있을 때는 github을, 사설 브랜치에있을 때는 mydomain.com으로 이동합니다.

+1

굉장한 대답, 감사합니다! –

+0

@CraigWatson 도와 줘서 다행입니다! –

+0

동일한 시나리오에서 git이 공용 분기에 파일을 선택적으로 추가하도록 할 수 있습니까? 예를 들어 폴더 dist, src 및 README.md가 비공개이고 dist 및 README.md 만 github, 즉 공용 저장소에 나타나게하려면 어떻게해야합니까? –