2017-04-07 2 views
0

을 밀어 무엇 나는지점 이름 충돌

내가 복제 또는 원격 저장소에서 가져는, 원격의 이름이 원격에서 가져온 지점의 이름 앞에 붙 알 것 같아요.
예를 들어 리모컨이 내 리포지토리에 origin이라고 불리면 복제 후 리모컨의 master 분기가 내 리포지토리에 origin/master이라고합니다.

이 동작은 내 리포지토리에 이미있는 분기 (가져온 로컬 또는 다른 리포지토리에서 가져온 지 여부)에 가져온 분기간에 이름 충돌이 발생하지 않도록합니다.

내가 얻을수 가지의 이름으로 (즉, 내 질문)

내 저장소 이름 (원격 저장소에) 접두사 나 원격 저장소에 밀어 때, 모르는 무엇?

그렇지 않은 경우 어떻게 지점 이름 충돌을 피할 수 있습니까?

+1

지점 이름 충돌이 * * 피하지 않을된다 . 예 : http://stackoverflow.com/questions/31631726/how-does-git-deal-with-identical-branch-names-from-two-different-remote-repo and http://stackoverflow.com/questions/17359978/ 분리 된 로컬 및 원격 브랜치에 대해 더 많은 것을 위해 같은 이름을 사용하는 이유는 무엇입니까? – jonrsharpe

답변

1

은 내가 복제 또는 원격 저장소에서 가져올 때 내가

을 알고, 원격의 이름 이 원격에서 가져온 가지의 이름으로을 접두사 생각 무엇.

예를 들어 원격 저장소가 내 저장소에서 원본이라고하는 경우 복제 후 원격 저장소의 마스터 분기는 내 저장소에 origin/master이라고합니다.

정확히 같지 않습니다. 당신이 자식 저장소의 자식을 복제 할 때
모든 지점에 참조를 얻을 수 있지만 마스터는 분기 자식을 체크 아웃 할 때마다 그것에 트랙 지점을 추가

enter image description here

을 체크 아웃

enter image description here

I 원격 저장소에 밀어

는 노나 내 저장소입니다 나 (원격 저장소에) 접두사가 붙은 지점의 이름에 접두사가 붙어 있습니까?

당신이 푸시 자식이

refspec

refspec

라는 내부 메커니즘을 사용하여 입력 할 때마다

refspec의 형식은 <src>가있다 <src>:<dst>, 다음, 옵션 +입니다 원격 측의 참조 용 패턴이고 <dst>은 해당 참조가 로컬로 쓰여지는 곳입니다.
+는 Git에게 빨리 감기가 아니더라도 참조를 업데이트하도록 지시합니다.

더 읽기 : 두 장소에서 동일한 이름을 가진 지점을 생성하고 동일한 원격으로 모두 밀어 시도하여 찾을 수
https://www.atlassian.com/git/tutorials/refs-and-the-reflog#refspecs