2012-01-19 3 views
2

지점 branch_Abranch_B 인 로컬 ABC에 있다고 가정 해 봅시다.힘내, 원격 진입

- git push origin 
- git push origin branch_A 
- git push origin branch_A:branch_A 

질문에 대한 이유는, 내가 놀랄로 다음과 같은 일련의 이벤트 찾기 : repo_A에서

사이의 차이점은 무엇입니까의 행동

11:05:56 ~/blah $ git push origin 
Counting objects: 31, done. 
Delta compression using up to 8 threads. 
Compressing objects: 100% (13/13), done. 
Writing objects: 100% (17/17), 1.28 KiB, done. 
Total 17 (delta 10), reused 0 (delta 0) 
To ssh://[email protected]/myrepo.git 
    141fc0d..d42c3b6 branch_B -> branch_B // While i was in branch_A 

11:06:02 ~/blah $ git branch 
    branch_A 
* branch_B 
+0

리포지토리 내의 브랜치 이름 인 것처럼 보일 때 리포지토리를'repo_A'와'repo_B'라고 지칭하는 것이 다소 혼란 스럽습니다. –

+0

@MarkLongair, 당신은 절대적으로 맞습니다. updated – JAM

답변

1

기본 동작 git push origin (구성 옵션 push.default을 사용자 지정하지 않은 경우) 모든 "일치하는"분기를 푸시하는 것입니다. 즉, 해당 이름의 지 점이 이미에 존재하는 한, 각 로컬 지 점은 원래의 동일한 이름을 가진 으로 푸시됩니다. 이 경우 origin에 로컬로뿐만 아니라 branch_B 브랜치가있는 것으로 보입니다.

다른 두 변종 당신은 인용

git push origin branch_A 
git push origin branch_A:branch_A 

가 .... 실제로 동일합니다 - 당신이 목적지 이름에서 소스 이름을 분리하는 refspec에서 :을 포함하지 않는 경우, 그 가정 원본과 대상에서 같은 이름을 의미합니다.

+0

아주 좋은 답변입니다. 대단히 감사합니다. – JAM