밀거나 밀지 않고 동시에 업스트림을 설정하는 방법에는 여러 가지가 있습니다.
이 값 magit-push-current-set-remote-if-missing
이 nil
기본값 이 아닌 경우 다음과 같이 표시됩니다.
Push feature to
p pushRemote, after setting that
u @{upstream}, after setting that
e elsewhere
이를 origin/feature
업스트림으로 푸시 하고 설정하려면를 누른 u다음 RET기본 완료 후보를 수락하십시오.
magit-push-current-set-remote-if-missing
is nil
인 경우 대신 다음과 같이 표시됩니다.
Push feature to
e elsewhere
p지금을 누르면 업스트림이 구성되지 않았다는 메시지가 표시됩니다 (업스트림이 없으면 업스트림으로 푸시 할 수 없음을 의미 함).
하지만 magit-push-current-set-remote-if-missing
이며 nil
, 다음 스위치 목록 기능을 것입니다 --set-upstream
당신이 사용할 수 있도록, P - u p당신이 (두 번째 페이지가 소문자를 제외)에 사용한다. 그러나 한 가지 복잡한 문제가 있습니다. 값을 변경 한 후 magit-push-current-set-remote-if-missing
Emacs를 다시 시작 --set-upstream
해야 나타나거나 사라집니다.
마지막으로 "set upstream (및 다른 작업은 수행하지 않음)"명령을 사용하여 업스트림을 설정할 수 있습니다 b uorigin/master
RET. 이 방법을 사용할 때는 이미 존재하는 분기 만 선택할 수 있습니다.
그러나 푸시 원격을 구성하고 푸시하는 것이 좋습니다. 푸시-원격과 그것이 업스트림과 어떻게 다른지에 대해 더 배우려면 , 정보 매뉴얼 의 브랜칭 노드를 참조하십시오 (웹 버전은 아직 업데이트되지 않았습니다).
기본적으로 업스트림 브랜치는 피처 브랜치가 합쳐 지거나 (푸시하지 않고 병합 또는 리베이스하여) 브랜치입니다 origin/master
. 그리고 푸시-원격은 피처 브랜치를 계속 작업하거나 다른 사람이 병합 할 수 있도록 피처 브랜치를 푸시하는 곳입니다. 로컬 브랜치의 이름이 지정 feature
되고 푸시-원격이 인 my-fork
경우를 사용하여 해당 브랜치를 P p푸시하면을 푸시합니다 my-fork/feature
. "푸쉬 투 브랜치"는 구성 할 수 없으며 푸시 원격의 브랜치 이름은 항상 로컬 이름과 동일합니다.
따라서 귀하의 질문은 "동시에 업스트림으로 푸시하는 방법, 업스트림을 동시에 구성하는 방법"과 같은 것이었지만 권장 사항은 전혀 업스트림으로 푸시하지 않고 대신 푸시 원격으로 푸시하는 것입니다.
값을 변경하지 않은 경우을 magit-push-current-set-remote-if-missing
사용하여 푸시 원격을 구성 할 수 있습니다 P psome-remote
RET. 그러나 모든 기능 분기를 동일한 리모컨으로 푸시 할 수 있으므로 모든 분기에 대해 푸시 원격을 한 번 설정하고 완료 b한 다음 M-p올바른 리모컨을 선택할 때까지 수행하는 것이 좋습니다.
또한 일반적으로 업스트림 브랜치를 명시 적으로 설정할 필요는 없습니다. 새 브랜치를 만들고 원격 브랜치를 시작점으로 선택하면 업스트림으로 사용됩니다.
불행히도 시작점은 일반적으로 로컬 브랜치이며,이 경우 Git은 기본적으로 업스트림으로 사용하지 않습니다. 그러나 이것을 한 번 실행하면 쉽게 해결할 수 있습니다.
git config --global branch.autoSetupMerge always
기본값 true
은 " 원격 지점 인 경우 시작 지점을 업스트림으로 설정"을 의미 합니다.
그건 그렇고, 푸시 원격에 동일하게 적용됩니다. 그것도 보통 "새로운"저장소에서 반자동으로 설정되어야합니다. 리포지토리를 복제 origin
하면 푸시 원격 으로 사용할지 묻는 메시지가 표시됩니다 . my-fork
푸시 리모컨으로 사용해야하는 다른 리모컨을 추가하지 않는 한 "예"라고 대답 해야합니다. 당신이 사용하여 새 원격를 추가 할 때 M a와 remote.pushDefault
아직 설정되어 있지 않은 경우, 당신은 당신이 새로 푸시 - 원격으로 원격 추가 사용할지 여부를 묻는 메시지가 표시됩니다.
이를 사용하여 구성 할 수 있습니다 magit-clone-set-remote.pushDefault
와 magit-remote-add-set-remote.pushDefault
.
다른 고급 옵션은 magit-branch-prefer-remote-upstream
이며 기본값은 nil
입니다. 로 설정 t
한 다음 새 분기의 시작점으로 로컬 분기를 선택하면 시작 규칙 의 업스트림 이 (일부 규칙에 따라 doc-string 참조) 대신 업스트림으로 사용될 수 있습니다. 시작점 자체.
<remote>/<branch>
(참조 부분은 실수 프롬프트에서 제외 된 이 댓글을 ). 그 동안magit-push-current-set-remote-if-missing
nil로 설정할 수 있습니다 .