Git 원격 저장소에 특정 브랜치가 있는지 확인하는 방법

GitBeginner
지금 연습하기

소개

이 랩에서는 Git 원격 저장소에 특정 브랜치가 존재하는지 확인하는 방법을 배우게 됩니다. 원격 브랜치를 나열하기 위해 git branch -r 명령어를 사용하는 것부터 시작하여 다양한 방법을 살펴볼 것입니다.

다음으로, 로컬에서 구성할 필요 없이 원격 URL 에서 직접 브랜치를 포함한 참조를 나열할 수 있는 git ls-remote 명령어의 다재다능함을 발견하게 될 것입니다. 마지막으로, 구성된 원격 저장소에 특정 브랜치가 존재하는지 확인하는 방법을 배우게 됩니다.

git branch -r 실행하여 브랜치 목록 확인

이 단계에서는 원격 Git 저장소에 존재하는 브랜치를 확인하는 방법을 배우겠습니다. 아직 원격 저장소에 연결하지 않았지만, 이 명령어를 이해하는 것은 다른 사람과 함께 작업하거나 GitHub 또는 GitLab 과 같은 온라인 플랫폼에서 작업하는 데 매우 중요합니다.

원격 브랜치를 나열하는 명령어는 git branch -r입니다.

지금 실행해 보겠습니다. 아직 구성된 원격 저장소가 없으므로 출력이 없지만, 이 명령어가 어떻게 작동하는지 확인하는 것은 좋은 연습입니다.

git branch -r

예상대로 출력이 없을 것입니다.

이 명령어가 왜 유용할까요? 다른 사람과 함께 프로젝트를 진행하는 경우, 그들은 공유 원격 저장소에 새로운 브랜치를 생성할 수 있습니다. git branch -r 명령어를 사용하면 해당 원격 저장소에 어떤 브랜치가 존재하는지 확인할 수 있으므로, 어떤 작업이 진행 중인지, 그리고 어떤 브랜치를 로컬 머신으로 가져올지 알 수 있습니다.

공유 라이브러리의 디렉토리를 확인하는 것과 같다고 생각하십시오. 어떤 책 (브랜치) 을 빌릴지 결정하기 전에 어떤 책 (브랜치) 을 사용할 수 있는지 확인하고 싶을 것입니다.

다음 단계에서는 원격 브랜치를 확인하는 다른 방법을 살펴볼 것이며, 이는 다양한 시나리오에서 유용할 수 있습니다.

git ls-remote 를 사용하여 브랜치 확인

git branch -r 외에도, 원격 브랜치를 확인하는 또 다른 강력한 명령어는 git ls-remote입니다. 이 명령어는 더 일반적이며, 먼저 가져오지 않고도 원격 저장소에서 참조 (브랜치 및 태그와 같은) 를 나열할 수 있습니다.

기본 구문은 git ls-remote <remote_url>입니다.

현재 저장소에 구성된 원격 저장소가 없으므로, 공개 Git 저장소를 사용하여 시연해 보겠습니다. kernel.org 에서 호스팅되는 공식 Git 저장소를 사용합니다.

터미널에서 다음 명령을 실행하십시오.

git ls-remote https://git.kernel.org/pub/scm/git/git.git

많은 출력을 보게 될 것입니다! 이 출력은 브랜치 및 태그를 포함하여 원격 저장소의 다양한 참조를 나열합니다. refs/heads/를 포함하는 줄을 찾으십시오. 이것들은 원격 저장소의 브랜치를 나타냅니다.

<some_hash>     refs/heads/master
<some_hash>     refs/heads/next
<some_hash>     refs/heads/pu
<some_hash>     refs/heads/topic/add-options-to-git-config
...

git ls-remote 명령어는 로컬 저장소에 추가하거나 모든 데이터를 가져오지 않고도 원격 저장소에서 무엇을 사용할 수 있는지 빠르게 확인하려는 경우에 유용합니다. 마치 실제로 도서관을 방문하지 않고 원격 도서관의 카탈로그를 엿보는 것과 같습니다.

git branch -r은 로컬 저장소가 인식하는 원격 브랜치 (일반적으로 git fetch 후) 를 보여주는 반면, git ls-remote는 원격 저장소를 직접 쿼리합니다. 이로 인해 git ls-remote는 로컬 구성에 아직 추가하지 않은 원격 저장소를 확인하는 데 유용합니다.

특정 Remote 로 확인

이전 단계에서는 전체 URL 과 함께 git ls-remote를 사용했습니다. 저장소에 이미 구성된 원격 저장소의 이름과 함께 git ls-remote를 사용할 수도 있습니다.

먼저, 현재 저장소에 원격 저장소를 추가해 보겠습니다. 동일한 kernel.org Git 저장소를 kernel_git라는 원격 저장소로 추가합니다.

다음 명령을 실행하십시오.

git remote add kernel_git https://git.kernel.org/pub/scm/git/git.git

이 명령어는 지정된 URL 을 가리키는 kernel_git라는 원격 저장소를 추가합니다. 성공하면 아무런 출력을 생성하지 않습니다.

이제 원격 저장소 이름과 함께 git ls-remote를 사용해 보겠습니다.

git ls-remote kernel_git

이전 단계에서 전체 URL 을 사용했을 때와 동일한 출력을 보게 될 것입니다.

<some_hash>     refs/heads/master
<some_hash>     refs/heads/next
<some_hash>     refs/heads/pu
<some_hash>     refs/heads/topic/add-options-to-git-config
...

원격 저장소 이름을 사용하여 git ls-remote를 사용하는 것은 이미 원격 저장소를 구성에 추가한 경우 편리합니다. 매번 전체 URL 을 입력할 필요가 없습니다.

또한 어떤 종류의 참조를 보고 싶은지 지정할 수도 있습니다. 예를 들어, 브랜치만 보려면 refs/heads를 추가할 수 있습니다.

git ls-remote kernel_git refs/heads

이렇게 하면 출력이 브랜치만 표시되도록 필터링됩니다.

<some_hash>     refs/heads/master
<some_hash>     refs/heads/next
<some_hash>     refs/heads/pu
<some_hash>     refs/heads/topic/add-options-to-git-config
...

이는 원격 저장소를 검사하기 위한 git ls-remote의 유연성을 보여줍니다.

요약

이 랩에서는 두 가지 주요 방법을 사용하여 원격 Git 저장소의 브랜치를 확인하는 방법을 배웠습니다. 먼저, 로컬 저장소가 인식하는 원격 추적 브랜치를 나열하는 git branch -r 명령어를 살펴보았습니다. 구성된 원격 저장소가 없으면 처음에는 출력이 표시되지 않지만, 공유 저장소의 브랜치를 확인하려면 이 명령어의 목적을 이해하는 것이 중요합니다. 그런 다음, 더 다재다능한 git ls-remote 명령어로 넘어갔습니다. 이 명령어를 사용하면 원격 URL 을 제공하여 로컬 원격 구성 없이도 브랜치를 포함한 참조를 위해 원격 저장소를 직접 쿼리할 수 있습니다. 공개 Git 저장소에서 참조를 나열하고, refs/heads/를 포함하는 줄이 브랜치를 나타내는 방식을 관찰하여 이를 시연했습니다. 이러한 방법은 협업 워크플로우 및 온라인 Git 플랫폼과의 상호 작용에 필수적인, 원격 저장소에 특정 브랜치가 존재하는지 확인하는 다양한 방법을 제공합니다.