Git 설정 업스트림 분기
Stewart Nguyen
2022년8월23일
이 기사에서는 로컬 브랜치와 원격 브랜치 간의 관계를 설정하는 방법을 소개합니다.
Git은 이러한 종류의 관계를 설정하기 위해 set upstream
을 호출합니다.
로컬 분기를 추적 분기라고 하고 추적하는 분기를 원격 분기를 업스트림
분기라고 합니다.
업스트림을 설정하는 목적은 git push
와 git pull
을 더 쉽게 만드는 것입니다.
feature/a-long-long-branch-for-feature-A
와 같은 긴 분기 이름이 있다고 상상해 보십시오.
업스트림 브랜치를 설정하지 않고 명시적으로 브랜치 이름으로 git push
를 실행해야 합니다.
예:
git push origin feature/a-long-long-branch-for-feature-A
더 짧고 업스트림 브랜치를 설정한 후 작업 중인 브랜치 이름을 제거할 수 있습니다.
깔끔하고 쉽게 git push
를 실행하기만 하면 됩니다.
원격 분기가 아직 생성되지 않았을 때 업스트림을 설정하려면 git push
명령과 함께 --set-upstream-to
옵션을 사용하십시오.
git push --set-upstream-to origin <branch_name>
또는 더 짧은 버전,
git push -u origin <branch_name>
$ git push -u origin master
Enumerating objects: 17, done.
...
remote: Create a pull request for 'master' on GitHub by visiting:
...
To github.com:username/repo_name.git
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
원격 브랜치가 이미 존재할 때 설정하려면 아래 명령어를 사용하세요.
git branch --set-upstream-to origin/<branch_name>
또는,
git branch -u origin/<branch_name>
예를 들어,
$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.
업스트림 설정의 또 다른 이점은 로컬 분기와 원격 분기 간에 동기화되지 않은 커밋을 표시하는 것입니다.
$ git branch -u origin/master
Branch 'master' set up to track remote branch 'master' from 'origin'.
$ touch file.txt
$ git add file.txt && git commit -m 'Add file.txt'
$ git status
On branch master
Your branch is ahead of 'origin/master' by 1 commit.
(use "git push" to publish your local commits)
업스트림 설정을 해제하려면 git branch --unset-upstream
을 사용하세요. 그러면 git status
에 추가 정보가 표시되지 않습니다.
$ git branch --unset-upstream
$ git status
On branch master
nothing to commit, working tree clean