git push를 수행하면 3 개의 분기가 관련되어 있습니다. 1) 로컬 브랜치 'foo1'2) 로컬 원격 추적 브랜치 'origin/foo2'(푸시/풀 후 원격 foo3와 항상 동일한 커밋에 있음) 3) 'foo3' 원격 저장소. 당연히 그들은 모두 보통 foo라고 불릴 것이다. 그러나 나는 다른 이름을 원한다. 그래서 나는 제대로 자식을 이해하고이 질문을 할 수있다. foo2를 어디에 지정할 수 있는지 이해할 수 없습니다. 나는git push에서 'origin/master'부분을 지정하십시오.
git push origin foo1:foo3
을 그리고 내 .git/config에
[branch "master"]
remote = origin
merge = refs/remotes/origin/foo2
1과 3이 확인되어 포인트에 그것을 가지고,하지만 난 내 로컬의 repo에서 원점 /에서는 foo2가없는 경우. 내가 뭘 놓치고 있니? 또는 내 원격 추적 지점이 인 경우 항상이라는 리모컨과 정확히 동일한 방식으로 이름을 붙였습니다. 괜찮습니다. 제대로 이해하고 싶습니다.
git-push 매뉴얼은 필자의 예제에서 2 개의 ref (refspec src와 dst), 1과 3을 말한다. 원격 repo의 dst 브랜치가 업데이트 된 후, 원격 원격 추적 참조가 업데이트 된 이후의 매뉴얼에 대한 설명은 어디에 있습니까?
@ VonC의 대답은 정확합니다 (물론 :-)). 여기서 근본적인 문제는 푸시와 풀 사이의 명백한 대칭을 넘어서고 있다는 것입니다. 거짓 대칭입니다. 'push '의 반대는'pull'이 아니라'fetch'입니다. (그럼에도 불구하고 정확하게 대칭이 아닙니다.) 모든 것을 더 명심해야합니다. – torek