Menu
Coddy logo textTech

Git: upstream 브랜치 설정하기

마지막 업데이트

브랜치의 upstream은 그 브랜치가 추적하는 원격 브랜치입니다. 한 번 설정되면, 단순한 git pushgit pull은 매번 원격과 브랜치를 지정하지 않아도 커밋을 어디로 보내고 어디서 가져올지 알게 됩니다. 보통 첫 push에서 -u로 설정하거나, 나중에 git branch --set-upstream-to로 설정합니다.

터미널 플레이그라운드에서 이것들을 시도해 보세요 - 브라우저 안의 진짜 셸이며, 설치할 것이 없습니다.

업스트림을 설정하면 로컬 브랜치가 원격 브랜치와 연결되어, 인자 없는 git push와 git pull이 갈 곳을 알게 됩니다.

문법

CommandWhat it does
git push -u origin feature한 단계로 push하고 upstream을 설정합니다
git branch --set-upstream-to=origin/feature현재 브랜치의 upstream을 설정합니다
git branch -u origin/feature feature지정한 브랜치의 upstream을 설정합니다
git branch -vv각 브랜치와 그 upstream을 표시합니다

일반적인 경우

GoalCommand
첫 push에서 upstream 설정하기git push -u origin feature
기존 브랜치의 upstream 설정하기git branch --set-upstream-to=origin/feature
어떤 upstream이 설정되어 있는지 확인하기git branch -vv

Git set upstream 자주 묻는 질문

upstream 브랜치를 설정하면 어떤 일이 일어나나요?
로컬 브랜치를 특정 원격 브랜치에 연결합니다. 그 후에는 해당 브랜치에서 git pushgit pull이 사용할 원격과 브랜치를 알기 때문에 인수 없이 실행할 수 있습니다. Git은 git status에서 upstream보다 얼마나 앞서 있거나 뒤처져 있는지도 보여줍니다.
upstream 브랜치는 어떻게 설정하나요?
가장 쉬운 방법은 첫 push 때입니다. git push -u origin <branch>는 push와 upstream 설정을 한 번에 수행합니다. 이미 원격에 존재하는 브랜치의 경우, 그 브랜치에 있는 상태에서 git branch --set-upstream-to=origin/<branch>를 사용하세요.
브랜치의 upstream은 어떻게 확인하나요?
git branch -vv를 실행하세요. 로컬 브랜치들을 나열하며, 각각에 upstream([origin/feature]처럼)과 앞서 있는지 뒤처져 있는지가 주석으로 표시됩니다. upstream이 없는 브랜치는 대괄호 안에 아무것도 표시하지 않습니다.
왜 git push가 upstream을 설정하라고 하나요?
현재 브랜치에 upstream이 구성되어 있지 않아 Git이 어디로 push할지 모르기 때문입니다. git push -u origin <branch>를 한 번 실행해 설정하면, 이후 push는 git push만 있으면 됩니다.
온라인에서 연습할 수 있나요?
네. 터미널 플레이그라운드를 열면 브라우저 안의 진짜 셸에서 이 명령어들을 실행할 수 있습니다 - 설치할 것이 없습니다. Coddy의 무료 대화형 Git 강좌에서도 원격 작업을 단계별로 다룹니다.
Coddy programming languages illustration

Coddy로 Git 배우기

시작하기