Computer >> 컴퓨터 >  >> 프로그래밍 >> 프로그래밍

Git 원격 브랜치 목록 확인 방법 완벽 정리

Git 저장소와 연결된 원격 브랜치(remote branch) 목록은 git branch -r, git branch -a 명령어 또는 git remote show 명령어를 사용해 확인할 수 있습니다. 로컬 브랜치만 보고 싶다면 git branch 명령어를 사용하면 됩니다.

git branch 명령어는 로컬 저장소에 저장된 모든 브랜치의 목록을 보여줍니다. 저장소에 연결된 원격 브랜치를 확인하려면 git branch 명령어 뒤에 -r 옵션을 붙이면 됩니다.

이 글에서는 git branch -r 명령어로 원격 브랜치를 조회하는 방법과, git remote show 명령어로 원격 저장소의 브랜치 정보를 자세히 확인하는 방법을 소개합니다.

Git에서 원격 브랜치를 확인하는 3가지 방법

Git 저장소와 연관된 원격 브랜치를 나열하는 방법은 세 가지입니다.

  • git branch -a: 로컬 브랜치와 원격 브랜치를 모두 표시
  • git branch -r: 원격 브랜치만 표시
  • git remote show: 원격 브랜치와 관련 메타데이터까지 상세히 표시

가장 많이 사용되는 명령어는 git branch -agit branch -r입니다. 이 두 명령어는 브랜치 목록만 간결하게 보여주기 때문입니다. 반면 git remote show는 각 브랜치에 대한 더 자세한 정보를 출력하지만, 항상 필요한 것은 아닙니다.

git branch 명령어로 모든 원격 브랜치 확인하기

예시로 ck-git이라는 Git 저장소를 살펴보겠습니다. 우리는 dev2.2-fix라는 브랜치를 생성하려 하는데, 이 브랜치가 저장소에 이미 존재하는지 확실하지 않은 상황입니다.

git branch -r 옵션

해당 브랜치의 존재 여부를 확인하기 위해 먼저 다음 명령어를 실행해 보겠습니다.

git branch

이 명령어는 로컬 저장소의 모든 브랜치 목록을 반환합니다.

* master
dev

별표(*)는 현재 체크아웃되어 있는 브랜치를 의미합니다. 생성하려던 브랜치인 "dev2.2-fix"는 로컬에는 존재하지 않는다는 것을 알 수 있습니다.

브랜치를 새로 만들기 전에, 원격 저장소에 해당 브랜치가 이미 있는지 확인해 보겠습니다. git branch 명령어에 -r 옵션을 추가하면 됩니다.

git branch -r

이 명령어는 원격 저장소의 브랜치들을 가져옵니다.

  origin/HEAD -> origin/master
  origin/dev2.2-fix
  origin/master

원격 저장소에 이미 dev2.2-fix라는 브랜치가 존재하는 것을 확인할 수 있습니다. 즉, 이 브랜치는 원격 저장소에는 있지만 로컬 저장소에는 없는 상태입니다.

따라서 새 브랜치를 만들 필요 없이, 기존 브랜치를 로컬로 가져오기(fetch)만 하면 코드 작업을 시작할 수 있습니다.

원격 저장소에서 기존 브랜치를 가져오려면 git fetch 명령어를 사용합니다.

git fetch origin dev2.2-fix

이 명령어를 실행하면 origin 저장소에서 dev2.2-fix 브랜치를 가져올 수 있습니다. 여기서 "origin"은 코드를 푸시하는 기본 원격 저장소의 이름입니다. 명령어를 실행하면 새 브랜치가 생성됩니다.

From https://github.com/career-karma-tutorials/ck-git
 * branch         dev2.2-fix     -> FETCH_HEAD

git branch -a 옵션

git branch 명령어에 -a 옵션을 붙이면 저장소와 연관된 모든 로컬 브랜치와 원격 브랜치가 표시됩니다.

다음 명령어를 실행해 보겠습니다.

git branch -a

실행 결과는 다음과 같습니다.

* master
  remotes/origin/activity-feed
  remotes/origin/master

git branch -r을 실행했을 때는 보이지 않던 브랜치들이 나타납니다. 그 이유는 git branch -r은 원격 브랜치만 반환하는 반면, git branch -a는 원격 추적 브랜치(remote-tracking branches)와 로컬 브랜치를 모두 반환하기 때문입니다.

원격 브랜치는 "remotes"라는 라벨로 표시됩니다.

git remote show 명령어로 모든 원격 브랜치 확인하기

git remote show 명령어는 원격 저장소와 연관된 브랜치에 대한 상세 정보를 표시합니다. 이 명령어는 인자를 하나 받는데, 바로 확인하고 싶은 원격 저장소의 이름입니다.

원격 저장소에 있는 브랜치를 간단히 훑어보고 싶다면 git branch -r 명령어만으로 충분합니다. 하지만 더 자세한 정보가 필요하다면 git remote show 명령어가 유용합니다. 이 명령어는 다음 정보를 반환합니다.

  • 모든 원격 브랜치
  • git pull 명령어와 연동되도록 설정된 로컬 브랜치
  • git push 명령어와 연동되도록 설정된 브랜치

이제 프로젝트의 기본 원격 저장소인 "origin"에 대해 git remote show 명령어를 실행해 보겠습니다. 원격 저장소의 메인 브랜치인 origin master 브랜치와 그 외의 브랜치들이 표시될 것입니다.

대부분의 사용자에게 이 명령어는 필요한 것보다 많은 정보를 제공합니다. 하지만 필요할 때 활용할 수 있도록 알아두면 좋습니다.

git remote show 명령어로 원격 저장소의 모든 브랜치 목록을 조회해 보겠습니다.

git remote show origin

이 명령어는 "origin"과 연관된 모든 원격 정보를 표시합니다. origin은 우리 저장소에 연결된 기본 원격 저장소입니다. 명령어의 출력 결과를 살펴보겠습니다.

* remote origin
  Fetch URL: https://github.com/career-karma-tutorials/ck-git
  Push  URL: https://github.com/career-karma-tutorials/ck-git
  HEAD branch: master
  Remote branches:
    dev2.2-fix tracked
    master     tracked
  Local branch configured for 'git pull':
    master merges with remote master
  Local ref configured for 'git push':
    master pushes to master (local out of date)

출력 결과를 보면 원격 저장소에서 추적 중인 브랜치가 두 개 있습니다. 바로 master와 dev2.2-fix입니다.

dev2.2-fix 브랜치에는 pull 또는 push 작업이 설정되어 있지 않습니다. 아직 해당 브랜치에서 코드를 가져오거나 푸시한 적이 없기 때문입니다.

마무리

git branch -r 명령어를 사용하면 특정 원격 저장소의 모든 브랜치 목록을 확인할 수 있습니다. 저장소와 연관된 원격에 대한 더 자세한 정보가 필요하다면 git remote show 명령어를 사용하세요.

이제 Git으로 원격 브랜치를 조회하는 명령어를 활용할 준비가 되었습니다. Git을 더 깊이 배우고 싶다면 Git 학습 가이드도 함께 참고해 보세요.