2011-09-28 5 views
3

당신이 터무니없이 긴 이름을 가진 당신의 기원에 지점을 가지고 말에서 push` ...방법 암시 적으로`자식 로컬 지점 "X"에서 "원산지/Y"

$> git branch -a 
* master 
    origin/master 
    origin/branch-with-a-ridiculously-long-name 

그리고 때를에 해당 지사에서 로컬로 작업하면 bob과 같이 덜 우스운 이름을 지정하려고합니다. 당신은 당신이 실행하는 경우 있도록 할 수있는 일

$> git checkout origin/branch-with-a-ridiculously-long-name 
$> git checkout -b bob 
$> git branch --set-upstream bob origin/branch-with-a-ridiculously-long-name 

이 밀어 시간을 제공 :

"밥"에 로컬 변경 사항은 "지사와-A로 전송됩니다 다음
$> git checkout bob 
$> git push 

-ridiculously-long-name "이며,"bob "이라는 원점에 새 분기를 만들지 않겠습니까?

git push은 암시 적으로 git push origin bob:branch-with-a-ridiculously-long-name으로 확장됩니다.

나는 git config push.default upstream을 설정하는 것이 중요하다고 생각하지만 로컬 브랜치의 이름이 리모컨과 다른 점을 어떻게 처리해야할지 모르겠다.

+0

을 설정합니다 : 이미 로컬 지점이있는 경우

는 다른 방법으로는 --set-upstream-to 플래그를 사용할 수 있습니다 : //stackoverflow.com/questions/4109136/configure-a-local-branch-for-push-to-specific-branch – Chris

답변

3

:

git push 

... 나 :

git push origin 

config 설정과 함께 실행 한 git branch --set-upstream 명령을 사용해야합니다.

나는 this unfortunate asymmetry between git push and git pull에 관한 글을 썼습니다.

git checkout -b bob origin/branch-with-a-ridiculously-long-name 

올바른 원격 지사에 밥의 상류을 설정합니다 : 자식의

+0

오 이런, 기본적으로 솔루션에 있었지만, 나는 그것을 깨닫지 못했습니다! 고마워, 마크,'push.default'는 내가 필요한 비밀 소스이다 :) – Chris

1

이게 당신이 쓴거야? 당신은 당신이 실행할 때 원하는 정확히 어떻게해야하는, upstream (또는 1.7.4.2 이전 자식의 버전 tracking)에 push.default를 설정하면 http://markmcb.com/2008/09/21/multiple-remote-git-branches-with-different-local-names/

+0

문제 해결에 대한 독창적 인 접근 방식입니다! config 파일을 수동으로 편집하는 것을 포함하지 않는 멋진 1 차 지원이 있기를 바랍니다. 그러나 이것은 좋은 것입니다. 감사! – Chris

0

최신 버전 (대부분의 2.X 버전) 하나 개의 명령이 모든 구성을 설정할 수있는 옵션이 포함되어 있습니다.

git checkout bob 
git branch --set-upstream-to origin/branch-with-a-ridiculously-long-name 

이 모두 제대로 자식 설정 나는이 질문은 HTTP에서 이전에 요청 된 생각

관련 문제