항상 두 이름을 모두 지정하지 않고 다른 이름을 가진 원격 지점이있는 로컬 지점을 밀고 당기는 쉬운 방법이 있는지 궁금합니다.
예를 들면 다음과 같습니다.
$ git clone myrepo.git
$ git checkout -b newb
$ ...
$ git commit -m "Some change"
$ git push origin newb:remote_branch_name
이제 누군가 remote_branch_name을 업데이트하면 다음을 수행 할 수 있습니다.
$ git pull
그리고 모든 것이 병합되고 빨리 전달됩니다. 그러나 로컬 “newb”를 변경하면 다음 작업을 수행 할 수 없습니다.
$ git push
대신, 나는 :
% git push origin newb:remote_branch_name
조금 어리석은 것 같습니다. 경우 git-pull
사용이 git-config branch.newb.merge
곳에서 끌어 결정하기 위해, 왜 수없는 git-push
비슷한 설정 옵션이? 이것에 대한 좋은 지름길이 있습니까? 아니면 먼 길을 계속해야합니까?
답변
확실한. 그냥 설정 push.default
하는 upstream
(즉 동일하다 자신의 업스트림에 밀어 지점 pull
에 의해 정의에서 끌어 branch.newb.merge
오히려 (의 기본 설정 인 이름에 일치하는 것들에 지점을 밀어보다,) push.default
, matching
).
git config push.default upstream
Git 1.7.4.2 이전 에는 호출 tracking
하지 않았 upstream
으므로 Git의 이전 버전을 사용하는 경우 tracking
대신 사용하십시오. 이 push.default
옵션은 Git 1.6.4에 추가되었으므로 그보다 오래된 버전 인 경우이 옵션이 전혀 없으며 푸시 할 지점을 명시 적으로 지정해야합니다.
답변
초기 푸시를 수행 할 때 -u 매개 변수를 추가 하십시오 .
git push -u origin my_branch:remote_branch
후속 푸시는 당신이 원하는 곳으로 갈 것입니다.
편집하다:
의견에 따라 풀만 설정합니다.
git branch --set-upstream
해야합니다.
답변
Adam 의 명령 은 더 이상 사용되지 않습니다. 당신이 사용할 수있는:
git branch --set-upstream-to origin/my_remote_branch my_local_branch
의 상류 지점 설정 my_local_branch
에를 origin/my_remote_branch
.
답변
나를 위해 일한 과정은 다음과 같습니다.
git clone original-repo-url
git remote rename origin upstream
git remote add origin new-repo-url
이제 새 리포지토리는 ‘원본’이고 원래 리포지토리는 ‘업스트림’입니다. git remote -v를 실행하여 확인하십시오. (참고 : 업스트림은 원본 리포지토리에서 가져 오는 데 사용됩니다. 로컬 복사본을 제공하려는 프로젝트와 동기화하기 위해-원점은 자신의 리포지토리에 기여할 수 있기 때문에 끌어 당기는 데 사용됩니다).
git push origin master
이제 새로운 원격 저장소의 마스터 (Github)는 원래 마스터와 동기화되지만 기능 분기는 없습니다.
git rebase upstream/branch-name
git push origin master
Rebase는 스마트 병합입니다. 그런 다음 다시 마스터로 이동하면 선택한 기능 분기가 새 저장소에서 마스터로 표시됩니다.
선택 과목:
git remote rm upstream
git remote add upstream new-repo-url
답변
나는 지금 꽤 오랫동안 같은 문제에 부딪쳤다. 나는 마침내 일련의 진술을 가지고 있으므로 git push origin local:remote
매번 할 필요가 없습니다 . 나는 이것을 따랐다.
git branch --set-upstream-to origin/remote_branch_name
git config push.default upstream
git push
다른 이름 (첫 번째 줄)으로 원격 지사로 업스트림을 설정 한 다음 해당 업스트림을 기본 (두 번째 줄)으로 설정하면 세 번째 줄은 이러한 규칙을 준수하고 설정된 업스트림으로 푸시됩니다.