programing

Git를 사용하여 원격 분기 자동 추적

lastcode 2023. 6. 21. 22:39
반응형

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--globalflag는 이것이 컴퓨터의 모든 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

이제 당신이pushGit는 명시적으로 지정하지 않더라도 현재 분기를 동일한 이름의 원격 분기로 자동으로 밀어넣습니다.또한 현재 분기에 원격 동등물이 없는 경우 원격 분기가 생성되고 현재 분기가 이를 추적하도록 설정됩니다(와 동일).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

반응형