본문 바로가기
코딩해보니/Git

[Git_48] 서버(원격) 저장소 - 원격 브랜치의 이해

by 위시랜 2023. 4. 25.

서버(원격) 저장소 - 원격 브랜치 이해하기
서버(원격) 저장소 - 원격 브랜치 이해하기

원격 브랜치의 이해

Git을 사용한 협업에서 서버 저장소에 대해 알아보았습니다.

우리는 브랜치를 공부하면서 브랜치를 만들고 병합하는 등의 작업을 통해 브랜치 운용을 어떻게 할 수 있는지 학습했습니다.

 

Git으로 버전 관리를 하면서 master 브랜치는 안정적인 코드를 유지하는 브랜치로 하고 추가 작업을 진행할 때는 브랜치를 생성해 작업해서 배포 시 master 브랜치로 병합하는 방식으로 하는 것이 보통입니다.

이와 같이 브랜치 작업도 원격 브랜치를 두고 협업을 할 수 있습니다.

 

로컬 저장소의 서버(원격) 저장소로 GitHub를 사용했듯이 서버(원격) 저장소에도 브랜치를 생성할 수 있으며, 서버(원격) 저장소에 생성한 브랜치를 원격 브랜치라고 합니다.

 

로컬에 Git 저장소를 만들었다고 서버에 저장소가 자동으로 생성되는 것이 아닌 것처럼, 브랜치 또한 로컬에 브랜치를 만들었다고 해서 서버에 브랜치가 자동으로 생성되는 것은 아닙니다. 앞서 push/pull 등의 명령으로 서버와 로컬을 동기화했던 것처럼 브랜치도 동기화를 위한 실행을 해줘야 합니다.

 

우리는 이미 원격 브랜치에 대한 학습을 마쳤습니다.

저장소를 생성하고 서버(원격) 저장소와 연결 후 push 를 통해 master 브랜치의 커밋 정보를 서버(원격) 저장소와 동기화한 것도 사실은 master라는 브랜치에 대한 원격 브랜치입니다.

따라서, 로컬 브랜치에 대해서도 지금까지 학습한 내용을 바탕으로 브랜치를 전송하고 내려 받는 등의 동기화 작업을 할 수 있습니다.

 

실습을 통해 확인해 보겠습니다.

먼저, 로컬 저장소에 hotfix라는 브랜치를 생성하겠습니다.

로컬 저장소에서 hotfix 브랜치 만들고 생성한 브랜치 목록 확인하기
로컬 저장소에서 hotfix 브랜치 만들고 생성한 브랜치 목록 확인하기

hotfix 브랜치를 생성하고 로컬 저장소의 브랜치 목록을 확인해 생성되었음을 재확인하였습니다.

 

이제 hotfix 브랜치를 서버(원격) 저장소로 전송(push) 합니다. 그 실행 화면이 다음과 같습니다.

로컬 저장소의 hotfix 브랜치를 서버(원격) 저장소로 전송(push)하기
로컬 저장소의 hotfix 브랜치를 서버(원격) 저장소로 전송(push)하기

정상적으로 전송되었고, 원격 브랜치가 생성되었음을 알 수 있습니다.

 

Github로 가서 저장소 페이지를 확인해 보면 다음과 같이 브랜치 개수가 증가한 것을 알 수 있습니다.

서버(원격) 저장소인 GitHub(깃헙)에서 브랜치 개수 증가 확인
서버(원격) 저장소인 GitHub(깃헙)에서 브랜치 개수 증가 확인

또한, [master]라고 표시되어 있는 셀렉트 박스 버튼을 클릭하면 아래로 펼쳐지는 화면에 hotfix 브랜치가 추가되어 있음을 알 수 있습니다.


원격 브랜치의 정보 확인하기

터미널에서 브랜치 목록을 확인하는 방법은 “브랜치”를 학습하면서 확인했습니다.

 

 

[Git_27] 브랜치(Branch) 만들기

브랜치(Branch) 만들기 브랜치는 작업자라고 생각하기로 하고, 브랜치는 개수에 제한 없이 만들 수 있습니다. 브랜치를 만들 때는 branch 명령어를 사용하며, 다음과 같은 형식을 가집니다. # 브랜치

wishlan.tistory.com

$ git branch 또는 $ git branch -v 로 확인이 가능했습니다.

 

이제 여기서 원격 저장소의 브랜치까지 확인하는 방법을 알아보겠습니다.

원격 저장소의 브랜치 목록을 확인하는 방법은 -r 옵션을 사용하면 됩니다.

# 원격 저장소의 브랜치 목록 확인
$ git branch -r

 

또한, 로컬 저장소의 브랜치들의 업스트림으로 설정된 원격 브랜치를 확인할 때에는 -vv 옵션을 사용합니다.

# 업스트림 정보와 함께 브랜치 목록 확인
$ git branch -vv

위 두 명령을 실행한 화면이 다음과 같습니다.

원격 브랜치 목록 확인
원격 브랜치 목록 확인

“트래킹 브랜치” 라고 표현했는데,

로컬 저장소의 브랜치에 원격 저장소의 브랜치가 업스트림으로 설정되어 있는 것을 트래킹 되었다고 하며, 그래서 이러한 원격 저장소의 브랜치를 트래킹 브랜치라고 이해하면 되겠습니다.

 

여기서, bugfix라는 브랜치를 생성하고, 다시 브랜치 목록을 확인한 결과가 다음과 같습니다.

로컬 저장소에 bugfix 브랜치를 생성 후 원격 브랜치 목록 확인
로컬 저장소에 bugfix 브랜치를 생성 후 원격 브랜치 목록 확인

이와 같이 bugfix는 설정된 업스트림이 없는 것을 확인할 수 있습니다.

이런 경우 $ git push 로만 실행해 전송할 수 없다는 것을 앞서 확인했습니다.

 

여기까지 원격 브랜치에 대해 알아봤습니다.

원격 브랜치에 대한 이해는 충분히 되었으리라 생각됩니다.

 

다음에는 원격 브랜치에 대해 조금 더 살펴보도록 하겠습니다.

 

감사합니다.

댓글