힘내

2014-01-19 2 views
2

다른 리모트 모든 지역의 지점을 누르면 내가 이렇게 origin를 가져 오는 오전 :힘내

git fetch origin 

이것은 masterdev 모든 지점을 얻을 것이다.

은 그 때 나는 다른 원격 mirror-server으로 밀어 :

git push mirror-server master 

또는 기본적으로 git push --all mirror-server을.

하지만 dev 분기를 mirror-server으로 푸시하지 않으며 분기 만 master 푸시됩니다.

오류가 나는 얻을 :

error: src refspec dev does not match any. 

I 시도와 같이

git push -u mirror-server dev 
git push --all 

가 나는 또한 밀어 다음 curent 분기를 전환하고 시도. 불운! 단 한 번 뭔가를 가지고 있으며이 있었다 : 힘내는 기본적으로

는 기본적으로 나는 origin 변경 사항을 당기고 다른 모든 리모컨으로 모든 지점을 밀어 필요 ... masterdev에있는 모든 파일을 넣고 파일을 병합합니다. ~/local-repos에 (당신이 URL을 변경하는 경우 또는 기타 저장소)

+0

'!'원격 거부 됨 'master (현재 브랜치의 삭제가 금지됨)' – xangr

+0

더 명확하게하기 위해, 내가 원점을 잡았을 때 로컬 폴더에 데이터가없고 미러 서버에 master와 dev 브랜치가 없다. 미러 서버는 master 브랜치 만 생성하지만 dev 브랜치를 푸시하고 싶을 때 오류가 발생합니다. 미러 서버에 dev 브랜치를 자동으로 생성 할 수 없습니다. 원점에서만 현재 dev 브랜치가 있습니다. 나는 동기화되고 싶다. 출처에 새로운 분기가있는 경우 미러 서버에 – xangr

+0

@Palec이 있어야합니다.이 파일을 따르 겠지만이 페이지는'https : // github.com/nhnc-nginx/apache2nginx'로 볼 수 있습니다. 보시다시피, 여기에는 두 개의 가지가 있습니다. '마스터'와'gh-pages '. 'git fetch'를하고 나서 다른 서버에 'gh-pages'가 아닌 master를 넣을 수 있습니다. 나는 지금 새로운 시험을 시도 할 것이다. – xangr

답변

2

명령이 순서 당신의 GitHub의 저장소를 클론, ~/remote-repos.git의 빈 저장소를 초기화하고 ~/local-repos의 모든 지점 ~/remote-repos.git에 푸시합니다.

git clone 'https://github.com/nhnc-nginx/apache2nginx' ~/local-repos 
git init --bare ~/remote-repos.git 
cd ~/local-repos 
git remote add mirror-server ~/remote-repos.git 
git push --mirror mirror-server 

나중에 당신은 당신의 git fetch origin~/local-repos~/local-repos 안에 실행에 추적 지점을 업데이트 (새로운 것들을 얻을). git push --mirror mirror-server을 사용하여 모든 항목을 ~/remote-repos.git에 다시 미러링 할 수 있습니다. 단일 분기 (예 : origin/gh-pages)를 푸시려면 git push mirror-server origin/gh-pages을 사용하십시오.

https://github.com/nhnc-nginx/apache2nginx 리모컨의 이름은 자동으로 origin입니다. git fetch originorigin 저장소에서 액세스 가능한 객체를 반입하고 분기를 추적 분기로 저장합니다. 추적 분기에는 원격 이름 접두사가 붙습니다 (이 경우 origin). git checkout gh-pages을 수행하고 gh-pages 브랜치가 없으면 체크 아웃을 수행하기 전에 git branch --track gh-pages origin/gh-pages을 수행하여 origin/gh-pages으로 설정된 업스트림을 갖는 gh-pages 브랜치를 만듭니다.

이것은 아마도 Git이보고 한 오류의 출처 였을 것입니다. 당신은 단지 origin/gh-pages을 가져 와서 존재하지 않는 gh-pages 가지를 푸시하려고했습니다. 계산의 일환으로 gh-pages이 생성되었으므로 밀어 넣으십시오.

origin이 아닌 로컬 저장소의 미러를 만드는 중임에 유의하십시오. GitHub 저장소를 미러링하려면 방금 생성 한 빈 미러 안에 git fetch origingit remote add origin 'https://github.com/nhnc-nginx/apache2nginx'으로 실행해야합니다.