Git를 사용하여 원격 분기 자동 추적
가 로컬할 때 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠmybranch
저는 밀고 당길 수 있고 싶습니다.origin mybranch
git push
그리고.git pull
사실, 나는 지루하게 적어야 합니다.git push origin mybranch
그리고.git pull origin mybranch
만약 내가 단지 사용하려고 한다면.git pull
예를 들어, 나는 다음을 얻습니다.
There is no tracking information for the current branch.
Please specify which branch you want to merge with.
See git-pull(1) for details
git pull <remote> <branch>
If you wish to set tracking information for this branch you can do so with:
git branch --set-upstream-to=origin/<branch> mybranch
그리고 내가 들어가면,git branch --set-upstream-to=origin/mybranch mybranch
그러면 작동합니다.그러나 이 작업은 이전 명령만큼이나 지루합니다.기본 동작으로 이 작업을 수행할 수 있습니까?저는 비슷한 질문들을 보았고 답변들은 새로운 버전의 git이 이것을 할 수 있다는 것을 암시하는 경향이 있습니다. 하지만 저는 git 버전 2.1.3을 사용하고 있는데, 이것은 꽤 새로운 것이기 때문에 그것이 그냥 될 수 없습니다.
git 2.37.0부터는 git 구성으로 이 작업이 가능합니다.
실행하여 구성을 업데이트합니다.
git config --global --add --bool push.autoSetupRemote true
그리고나서git push
원격 분기를 자동으로 설정합니다.
참고: The--global
flag는 이것이 컴퓨터의 모든 git 명령에 적용된다는 것을 의미합니다(어떤 repo인지에 관계없이). 플래그를 생략하여 컴퓨터의 단일 repo에 특정할 수 있습니다.
설명서:
https://git-scm.com/docs/git-config#Documentation/git-config.txt-pushautoSetupRemote
push.autoSetupRemote
"true"로 설정된 경우 현재 분기에 대한 업스트림 추적이 없을 때 --set-upstream on default push를 가정합니다. 이 옵션은 push.default 옵션 simple, upstream 및 current에 적용됩니다.기본적으로 새 분기를 기본 원격으로 푸시하고(예: push.default=current) 업스트림 추적을 설정하려는 경우에 유용합니다.이 옵션의 이점이 가장 많은 워크플로우는 모든 분기가 원격에서 동일한 이름을 가질 것으로 예상되는 단순한 중앙 워크플로우입니다.
push 을 한가가능깃푸동것수시작다입니로 수정하는 입니다.current
(이것은 다른 부작용도 초래할 수 있습니다.당신은 그것을 수정할 수 있습니다.~/.gitconfig
직접(파일로서) 또는 다음을 실행합니다.
git config --global push.default current
이제 당신이push
Git는 명시적으로 지정하지 않더라도 현재 분기를 동일한 이름의 원격 분기로 자동으로 밀어넣습니다.또한 현재 분기에 원격 동등물이 없는 경우 원격 분기가 생성되고 현재 분기가 이를 추적하도록 설정됩니다(와 동일).git push -u origin new_branch
단 한 번으로git push
또한 git push 동작이 자세히 설명된 이 질문을 살펴봅니다.
이 모든 것을 하는 것은 깃허브가 아니라 여러분의 지역 깃입니다.
작성하는 경우mybranch
로 국부적으로git checkout
그리고 그것은 이미 존재합니다.origin/mybranch
로컬 저장소에서, 당신은git checkout mybranch
그리고 당신의 지역 깃은 그것을 볼 것입니다.origin/mybranch
존재하고 로컬을 만듭니다.mybranch
와 함께origin/mybranch
상류에
반면에, 만약에.origin/mybranch
아직 존재하지 않으며 생성 중입니다.mybranch
로 국부적으로git checkout -b
또는 이와 유사하게 아직 존재하지 않는 업스트림 분기를 추적하도록 설정할 수 없습니다(해당 분기를 추적하도록 구성할 수 있지만 업스트림 버전이 없다는 불만이 가끔 제기될 수 있습니다).
이 경우 첫 번째 푸시(업스트림에 분기를 생성하는 푸시)에서 다음을 사용할 수 있습니다.
git push -u origin mybranch
당신의 지역 깃을 밀고 나가라고 합니다.mybranch
로.origin
작업이 완료되면 설정합니다.origin/mybranch
의 추적 조사로서.mybranch
.
이는 실행과 동일합니다.git branch --set-upstream-to
한 번만 하면 로컬로 설정되고 다시 할 필요가 없습니다.그것은 단지 당신이 그것을 함께 할 수 있기 때문에 더 편리합니다.push
에 합니다.origin
그것을. (한 번;하만여한기억야합해니다전히지, 다실상니됩기면행하번만한)▁but다▁when▁you(합▁reminded니다▁get▁you니상;'llonce하지▁run,▁it▁to)git push
없이-u origin mybranch
).
git -u origin HEAD
지점의 전체 이름을 쓸 필요가 없는 한 가지 방법입니다.
-u
는 의줄입니다말의 줄임말입니다.--set-upstream
그리고.HEAD
있는 지점의 .
언급URL : https://stackoverflow.com/questions/29422101/automatically-track-remote-branch-with-git
'programing' 카테고리의 다른 글
GitHub에 생성된 새 원격 분기 추적 (0) | 2023.06.26 |
---|---|
새 분기를 명시적으로 푸시해야 하는 이유는 무엇입니까? (0) | 2023.06.26 |
python에서 문자열을 변수 이름으로 변환 (0) | 2023.06.21 |
오류 'mongo.js:L112 오류: src/mongo/shell/mongo.js의 서버 127.0.0.1:27017에 연결할 수 없습니다.L112' (0) | 2023.06.21 |
NSA sert의 요점이 뭐죠? (0) | 2023.06.21 |