DEV-STUDY/Git

git push -u origin <branch> : 옵션 u

HwangJerry 2023. 7. 4. 09:17

깃을 사용하여 버전관리를 하기 위해 처음 명령어를 배울 때, git push -u origin main 이라는 명령어를 통째로 외워서 사용하였다.

$ git push -u origin branch

이제 깃을 점차 알게 되면서 -u 옵션의 의미를 알고 싶어졌다.

 

'옵션 u' 의 의미

-u 옵션은 git push 명령에서 사용되는 'upstream 옵션'으로, 원격 저장소에 푸시하는 동시에 로컬 브랜치와 원격 브랜치를 연결하는 역할을 한다. 더 정확히 말하자면, 기본적인 git push 명령은 기본적으로 원격 저장소에 변경 사항을 푸시하지만, 여기에 -u 옵션을 사용하면 푸시한 브랜치를 upstream 브랜치로 설정한다.

 

여기서 말하는 upstream 브랜치는 로컬 브랜치와 연결된 원격 브랜치를 말한다. 버전관리를 하기 위해서는 원격 저장소에 push를 자주 하게 되는데, 이 때 main 브랜치나 develop 브랜치와 같이 계속 존재하는 브랜치들의 경우 매번 그 이름을 쳐주기가 번거롭다. 원격 저장소의 main과 develop 브랜치를 각각 로컬 저장소에 있는 main과 develop 브랜치의 upstream 브랜치로 설정해두면, 해당 로컬 브랜치는 원격 저장소의 어느 브랜치로 push할 지 .git에 upstream branch 정보를 저장해두기 때문에 `git push` 명령어만 치더라도 origin의 upstream 브랜치로 push가 이루어지게 된다.

$ git push

$ git pull