Git 브랜치를 변경하고 원격 서버와 연결하는 방법

Git 브랜치를 변경하고 원격 서버와 연결하는 방법

Git
Git 브랜치를 변경하고 원격 서버와 연결하는 방법
Author

gabriel yang

Published

December 19, 2024


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)

위 예시에서는 originupstream이라는 두 개의 원격 서버가 등록되어 있습니다.

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라는 로컬 브랜치는 originfeature-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

이 명령은 현재 로컬 브랜치를 원격 서버 originmain 브랜치와 연결합니다. 연결 후, 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>