2017-04-15 12 views
2

로컬 브랜치에서 원격 이름을 얻는 방법은 무엇입니까?로컬 브랜치에서 원격 이름 가져 오기

원격 추적 분기 이름이 아니라 원격 이름 만 원한다는 것에 유의하십시오.

이 인위적인 예제를 고려하십시오. prefix/github을 얻으려면 어떻게해야합니까?

$ git status -b 
## dev...prefix/github/rm/dev 

$ git remote 
github 
prefix 
prefix/github 

그래서 prefix/github 원격 지점 rm/dev을 추적하는 원격 및 로컬 지점 dev입니다.

지금까지이 방법을 알고 있지만 완전하지 않습니다.

$ git rev-parse --abbrev-ref @{u} 2>/dev/null | cut -d'/' -f1 
prefix 

prefix/github 원격 이름은 의도적입니다. 나는 슬래시없이 내 리모컨을 유지하면서 살 수있다. (위의 경우 작동 할 수는 있지만) 내가 뭔가를 놓치고 있는지 알고 싶다.

fyi : 궁극적으로 이것이 사용되는 bash 스크립트가 있습니다.

업데이트 :이 질문은 속는 사람이 아닌 이유

는이 주석을 참조하십시오 Get remote name from local branch

+0

로컬 브랜치를 추적하는 원격 브랜치가 어디에 있는지 파악하려고합니까? – merlin2011

+0

예. 위의 예에서 원격 이름 인'prefix/github'를 얻을 필요가 있습니다. – hIpPy

+0

http://git-wt-commit.rubyforge.org/ 또는 직접하고있는 일을 복제하십시오. – bishop

답변

1

이것은 작동합니다.

[branch "dev"] 
    remote = prefix/github 
    merge = refs/heads/dev 

내가이 인위적인입니다 솔직히 놀랐어요 :

git config --get branch.dev.remote 

지역 자식 설정 파일 (.git/config)이 branch 섹션이 있어야합니다.

+0

나는 당신이 * 고안 한 * 것이 무슨 뜻인지 확신 할 수 없지만, 역사적인 이유로이 방법입니다. 좀 더 자세한 내용은 http://stackoverflow.com/a/42033047/1256452를 참조하십시오. (나는 다른 곳에서 이것에 대해 "더 많은 것을"썼다는 것을 확신하지만 빨리 찾을 수는 없다.) – torek

+0

@torek, 아하나. 나는 그것이'git branch' 나'git remote'를 통해서 였을 것이고'git config' (직관적이지는 않습니다)가 아닌 줄 알았습니다. – hIpPy

+0

사용자 중심의 도자기는 오늘 이러한 사실에 두 부분이 있다는 사실을 숨기려고합니다. 좋은 디자인 결정인지 여부는 전적으로 다른 질문입니다. 한편 배관 코드는 역사적인 기이함으로 가득 차 있습니다. :-) – torek

0

당신이 설정 분기 추적 후 .git/config 파일에 저장됩니다 찾고있는 정보를 제공합니다. 거기에서 쉽게 추출 할 수 있어야합니다 (예 : grep -B ... | grep ... - 해당 파일을 살펴본 후 점을 직접 작성하십시오).

여기에는 명시 적으로 원격 추적 정보가 저장되지 않은 분기가있을 수 있습니다.

관련 문제