Github origin에 새로 판 브랜치를 push 하려고 하면, 아래와 같은 에러 메시지와 함께 원하는 대로 push가 안 되는 경우가 있다.
fatal: The current branch test-branch has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin test-branch
To have this happen automatically for branches without a tracking
upstream, see 'push.autoSetupRemote' in 'git help config'.
자세하게 에러 메시지를 읽어보면, test-branch가 upstream branch를 가지고 있지 않으니 push를 하려면 remote 등록을 해야 한다라는 말이다. 그래서 단순히 나와있는 명령어대로 git push --set-upstream origin test-branch를 입력하면, 이후에는 에러메시지 없이 정상적으로 push가 된다.
하지만, 해당 명령어를 사용한 해결법은 새로운 브랜치로 check-out해서 작업을 push 할 때마다 remote 등록을 해줘야 한다는 문제가 있다. 그렇기에 에러 메시지 마지막 부분에 적혀있는 내용을 읽어볼 필요가 있다. 이에 따르면 upstream을 tracking 할 필요 없이 자동적으로 이루어지게 하려면, git help config의 push.autoSetupRemote를 확인하라고 한다.
확인해 보면 길게 설명이 되어있긴 하지만, 중요한 부분만 확인해 보면 push.autoSetupRemote를 true로 설정하면 default push에 자동적으로 --set-upstream이 설정된 것처럼 처리된다는 것이다. 즉, push.autoSetupRemote를 true로 설정하기만 하면 문제가 해결된다는 것이다.
git config --add 명령어를 통해 git config를 추가할 수 있고, 결론적으로 아래의 명령어를 통해 이후에 어떤 브랜치에서도 push를 진행하면 자동적으로 remote에 연결되게 설정할 수 있다.
git config --global --add push.autoSetupRemote true
※ 참고로 Git의 버전이 2.37 이상인 경우에만 가능하다. 버전이 낮다면 업데이트해주시길...
'개발 > 개발 팁' 카테고리의 다른 글
Docker 환경에서의 Spring Boot Auto Reload (Hot Reload) (0) | 2024.11.30 |
---|---|
SSAFY 11기 전공자 합격 후기 (면접 스터디 X) (0) | 2024.01.13 |
페어 프로그래밍(Pair Programing) (0) | 2023.10.02 |
[부스트캠프 웹・모바일 8기] 네이버 부스트캠프 챌린지 회고 (3) | 2023.08.08 |
AWS 사용하여 배포 시 사용하는 명령어 (0) | 2023.06.21 |