간단한 설정 한 줄로 현재 브랜치를 업스트림 브랜치(upstream)로 추가할 수 있습니다.
git config --global push.default current
git-config 문서에 의하면
push.default
refspec에 대한 설정이 어떤 경로로도 주어지지 않았을 때의 동작을 결정한다.
다음은 push.default로 지정 가능한 값들이다.
nothing - 어떤 커밋도 푸시하지 않는다.
matching - 리모트/로컬 브랜치가 서로 일치할 경우에만 푸시한다. (기본)
upstream - 현재 브랜치를 지정해둔 upstream 브랜치로 푸시한다.
tracking - (deprecated) upstream과 동일
current - 현재 브랜치와 같은 이름으로 리모트에 푸시한다.
push.default
를 current
로 설정해두면 브랜치가 바뀔 때마다 매번 git branch --set-upstream-to origin/mybranch
하지 않아도 됩니다.
+ 추가
현재 브랜치가 리모트 저장소에 존재하지 않는 브랜치라면 업스트림 정보까지 자동으로 생성되지는 않습니다. 그래서 git pull
을 했을 때 upstream
을 설정하라는 문구가 뜹니다. 그러므로 push.default=current
로 설정된 경우 한 번은 git push -u
를 사용해서 업스트림 정보를 생성해줘야 git pull
이 제대로 동작합니다. 그게 귀찮다면 git push
대신 항상 git push -u
를 사용할 수 있습니다.