Git 브랜치를 변경하고 원격 서버와 연결하는 방법
Git 브랜치를 변경하고 원격 서버와 연결하는 방법
Git을 사용할 때 하나의 프로젝트에서 여러 개의 원격(remote) 서버를 등록해야 하는 경우가 종종 있습니다. 이런 상황에서는 특정 브랜치를 작업하면서 해당 브랜치를 특정 원격 서버와 연결해야 할 수도 있습니다. 이번 글에서는 이러한 과정을 단계별로 살펴보겠습니다.
1. 원격 서버 확인하기
먼저, 현재 프로젝트에 등록된 원격 서버 목록을 확인합니다. 다음 명령어를 사용합니다:
git remote -v
출력 예시:
origin https://github.com/user/repo.git (fetch)
origin https://github.com/user/repo.git (push)
upstream https://github.com/another/repo.git (fetch)
upstream https://github.com/another/repo.git (push)
위 예시에서는 origin
과 upstream
이라는 두 개의 원격 서버가 등록되어 있습니다.
2. 브랜치 변경하기
작업하려는 로컬 브랜치로 전환하려면 git checkout
또는 git switch
명령어를 사용합니다:
git switch <로컬 브랜치 이름>
만약 브랜치가 로컬에 없고 원격에만 있는 경우, 다음 명령어로 원격 브랜치를 추적(tracking)하는 새로운 로컬 브랜치를 생성합니다:
git switch --track <원격 이름>/<원격 브랜치 이름>
예시:
git switch --track upstream/feature-branch
위 명령은 원격 서버 upstream
에 있는 feature-branch
브랜치를 기반으로 새 로컬 브랜치를 생성하고 해당 브랜치로 전환합니다.
3. 현재 브랜치의 원격 서버 확인 및 변경하기
현재 로컬 브랜치가 연결된 원격 브랜치를 확인하려면 다음 명령어를 사용합니다:
git branch -vv
출력 예시:
* feature-branch abc1234 [origin/feature-branch] 작업 중인 내용
위 예시에서 feature-branch
라는 로컬 브랜치는 origin
의 feature-branch
라는 원격 브랜치와 연결되어 있습니다.
이 연결을 다른 원격 서버의 브랜치로 변경하려면 다음 명령어를 사용합니다:
git branch --set-upstream-to=<원격 이름>/<원격 브랜치 이름>
예시:
git branch --set-upstream-to=upstream/feature-branch
명령어 실행 후, 다시 git branch -vv
를 실행하면 변경된 원격 브랜치를 확인할 수 있습니다.
4. 기본 원격 브랜치를 origin으로 설정하기
기본 원격 브랜치를 origin
으로 설정하려면 다음 명령어를 사용합니다:
git branch --set-upstream-to=origin/<원격 브랜치 이름>
예시:
git branch --set-upstream-to=origin/main
이 명령은 현재 로컬 브랜치를 원격 서버 origin
의 main
브랜치와 연결합니다. 연결 후, git push
와 같은 명령어를 사용할 때 자동으로 이 설정이 적용됩니다.
또한, 프로젝트 전체의 기본 원격 브랜치를 설정하려면 Git 설정 파일을 수정합니다:
git config remote.origin.default main
이 명령은 origin
의 기본 브랜치를 main
으로 설정하여 브랜치 생성 시 기본적으로 연결되도록 만듭니다.
5. 원격 서버에 변경 사항 푸시하기
원격 서버와 브랜치 연결을 설정한 후, 로컬 브랜치의 변경 사항을 원격 브랜치로 푸시합니다:
git push
만약 연결 설정 없이 바로 특정 원격 서버와 브랜치에 푸시하려면:
git push <원격 이름> <로컬 브랜치 이름>
예시:
git push upstream feature-branch
위 명령은 로컬 브랜치 feature-branch
를 원격 서버 upstream
의 동일한 이름의 브랜치로 푸시합니다.
6. 유용한 팁
원격 서버 이름 변경하기: 원격 서버 이름을 변경하려면 다음 명령어를 사용합니다:
git remote rename <기존 이름> <새 이름>
원격 서버 삭제하기: 더 이상 사용하지 않는 원격 서버를 삭제하려면:
git remote remove <원격 이름>
새 원격 서버 추가하기: 새로운 원격 서버를 추가하려면:
git remote add <원격 이름> <원격 URL>