Git: upstream 브랜치 설정하기
마지막 업데이트
브랜치의 upstream은 그 브랜치가 추적하는 원격 브랜치입니다. 한 번 설정되면, 단순한 git push와 git pull은 매번 원격과 브랜치를 지정하지 않아도 커밋을 어디로 보내고 어디서 가져올지 알게 됩니다. 보통 첫 push에서 -u로 설정하거나, 나중에 git branch --set-upstream-to로 설정합니다.
터미널 플레이그라운드에서 이것들을 시도해 보세요 - 브라우저 안의 진짜 셸이며, 설치할 것이 없습니다.
문법
| Command | What 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을 표시합니다 |
일반적인 경우
| Goal | Command |
|---|---|
| 첫 push에서 upstream 설정하기 | git push -u origin feature |
| 기존 브랜치의 upstream 설정하기 | git branch --set-upstream-to=origin/feature |
| 어떤 upstream이 설정되어 있는지 확인하기 | git branch -vv |
Git set upstream 자주 묻는 질문
upstream 브랜치를 설정하면 어떤 일이 일어나나요?
로컬 브랜치를 특정 원격 브랜치에 연결합니다. 그 후에는 해당 브랜치에서
git push와 git 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 강좌에서도 원격 작업을 단계별로 다룹니다.