[Git Remote] Git Remote에 저장된 브랜치 관리하기 : 브랜치 확인, 브랜치 가져오기

2022. 1. 9. 07:02· CI, CD/Git Remote
목차
  1. GitHub에 저장된 브랜치 확인하기
  2. GitHub branch 가져오기
  3. GitHub branch를 트래킹하는 브랜치로  checkout 하기
  4. git fetch 사용해 GitHub Branch 를 트래킹하는 브랜치 최신 버전으로 업데이트하기
반응형

GitHub에 저장된 브랜치 확인하기

GiHub에 저장된 브랜치는 git branch -r 명령어를 통해 확인 가능하다.

 

예를 들어 GitHub url에 대한 alias를 origin-ssh로 지정한 후, 브랜치를 main, master 두개를 만들었다면 다음과 같이 출력된다.

$ git branch -r

  origin-ssh/main
  origin-ssh/master

 

 

GitHub branch 가져오기

GitHub에 저장된 브랜치는 git switch [branch name]을 통해 가져올 수 있다.

 

git switch [branch name] 을 하면 git은 먼저 로컬에 브랜치가 있으면 해당 브랜치로 스위치하고, 없으면 remote(Github)에서 해당 브랜치를 가져온다.

$ git branch -d main  ### git branch 삭제
$ git switch main       
'main' 브랜치가 리모트의 'main' 브랜치를 ('origin-ssh'에서) 따라가도록 설정되었습니다.
새로 만든 'main' 브랜치로 전환합니다

그림1. git switch 를 이용해 remote 브랜치 가져오기

 

 

 

GitHub branch를 트래킹하는 브랜치로  checkout 하기

GitHub에 저장된 브랜치를 가져올 때 로컬에 해당 브랜치를 트래킹하는 브랜치가 만들어진다. 

 

예를 들어 origin에 master brach를 git switch를 통해 가져오면 Local에는 origin/master와 master 브랜치가 생성된다. 이 때 우리가 작업하는 브랜치는 master 브랜치이다.

 

그릠2. git checkout

 

origin/master브랜치로 전환하기 위해서는 git switch는 사용할 수 없다. git switch는 로컬 브랜치만을 위한 명령어이기 때문이다. 만약 사용하면 다음과 같이 "fatal: a branch is expected, got remote branch 'origin/master'" 오류가 뜬다.

$ git switch origin/master
fatal: a branch is expected, got remote branch 'origin/master'

 

따라서 remote branch를 트래킹 하는 브랜치로 체크아웃 하기 위해서는 git checkout origin/master 명령어를 사용해야 한다.

git checkout origin/master

 

 

git fetch 사용해 GitHub Branch 를 트래킹하는 브랜치 최신 버전으로 업데이트하기

위에서 git checkout으로 Remote Branch를 트래킹하는 브랜치를 checkout하면 문제가 있다. 바로 remote branch를 트래킹하는 브랜치가 remote의 커밋이 업데이트 되었을 때 업데이트가 안되는 문제이다.

그림3. git fetch

 

 

이를 최신 버전으로 업데이트 하기 위해서는 git fetch 명령어를 사용해야 한다. git fetch 나 git fetch [alias]를 사용하면 Remote Repository의 최신 커밋으로 Remote Branch를 트래킹하는 모든 브랜치들이 업데이트 된다.  예를 들어 git fetch origin 과 같이 사용할 수 있다.

git fetch
git fetch [alias]

 

만약 하나의 브랜치만 업데이트 하고 싶다면 git fetch [alias] [branch name]를 사용하면 된다. git fetch origin master 과 같이 사용할 수 있다.

git fetch [alias] [branch name]

 

그림4. git fetch 사용 시 결과

 

반응형
저작자표시 비영리 변경금지 (새창열림)
  1. GitHub에 저장된 브랜치 확인하기
  2. GitHub branch 가져오기
  3. GitHub branch를 트래킹하는 브랜치로  checkout 하기
  4. git fetch 사용해 GitHub Branch 를 트래킹하는 브랜치 최신 버전으로 업데이트하기


 

Kotlin, Android, Spring 사용자 오픈 카톡

오셔서 궁금한 점을 질문해보세요!
비밀번호 : kotlin22

open.kakao.com

'CI, CD/Git Remote' 카테고리의 다른 글
  • [GitHub] README.md 파일에 스타일을 적용하는 방법을 살펴보자.
  • [Git Remote] git pull을 이용해 fetch와 merge 한 번에 하기
  • [Git Remote] git fetch사용해 remote repository(GitHub, GitLab, etc) 트래킹하기
  • [Git Remote] git remote, push를 이용해 Remote 저장소(GitHub, GitLab, etc)를 다루는 방법
Dev.Cho
Dev.Cho
'조세영의 Kotlin World'는 Kotlin를 전문적으로 다루는 개인 기술 블로그입니다. Kotlin 세계에 대한 양질의 자료를 제공하며 Kotlin, Android, Spring, CI, CD 분야에 대해 다룹니다.
Dev.Cho
조세영의 Kotlin World
Dev.Cho
전체
오늘
어제

블로그 메뉴

  • LinkedIn
  • GitHub
  • 분류 전체보기 (491)
    • Kotlin (104)
      • Class and Interface (19)
      • Variable and Function (8)
      • Modifier (5)
      • Collection (14)
      • Time (8)
      • 동시성 제어 (7)
      • Reactive Programming (2)
      • Paradigm (2)
      • Kotlin 자료구조 (15)
      • Design Patterns (11)
      • Algorithm (3)
      • Exception (1)
      • 기타 (9)
      • Update History (0)
    • Coroutines (32)
      • Coroutine Basics (18)
      • Flow (9)
      • CoroutineScope (3)
      • Debugging (2)
    • Testing Codes (28)
      • Test 기본 (3)
      • JUnit5 (9)
      • MockK (6)
      • Testing Coroutines (1)
      • Testing Android (8)
      • Test 기타 (1)
    • Spring (50)
      • Dependency Injection (18)
      • Settings (5)
      • REST API (0)
      • DevTools (1)
      • MVC (18)
      • Error (2)
      • MongoDB (2)
      • Database (4)
    • Android (39)
      • Architecture (2)
      • Component (5)
      • Manifest (1)
      • Lifecycle (2)
      • Dependency Injection (17)
      • Resource (1)
      • Storage (1)
      • Security and Optimization (1)
      • WebView (2)
      • Error (6)
    • Android Jetpack Compose (33)
      • Compose (6)
      • Compose Modifier (13)
      • Compose Resource (4)
      • Compose State (4)
      • Compose Side Effect (6)
    • Android Jetpack Compose UI (48)
      • Compose Layout (14)
      • Compose Text (10)
      • Compose Button (5)
      • Compose Dialog (2)
      • Compose TextField (0)
      • Compose UIs (4)
      • Compose Animation (1)
      • Compose Canvas (12)
    • Android Jetpack (10)
      • Datastore (5)
      • ViewModel (4)
      • LiveData (1)
      • Paging (0)
    • KMP (5)
    • Programming (4)
    • Machine (9)
      • JVM (7)
      • Linux (2)
    • CI, CD (74)
      • Gradle (12)
      • Groovy Gradle (5)
      • Git (25)
      • Git Remote (5)
      • GitHub (5)
      • GitHub Actions (21)
    • Network (33)
      • GraphQL (12)
      • HTTP (11)
      • Basic (9)
    • 오픈소스 (3)
    • Database (3)
      • MongoDB (3)
    • IDE (6)
      • Android Studio (2)
      • Intellij (4)
    • Firebase (1)
    • Javascript (9)

공지사항

  • 코틀린 코루틴 완전 정복 강의 in 인프런 오픈
  • 코틀린 코루틴의 정석 책 출간
  • Kotlin Coroutines 공식 기술 문서 한국어 번⋯
  • GitHub에서 조세영의 Kotlin World를 Foll⋯
  • 문의&제안

인기 글

태그

  • GraphQL
  • Android
  • 유닛 테스팅
  • junit5
  • github
  • Kotlin
  • compose
  • gradle
  • Unit Testing
  • dagger2
  • Spring
  • 코루틴
  • 스프링
  • Coroutine
  • Android Compose
  • 안드로이드
  • HTTP
  • Dependency Injection
  • java
  • Class
  • kotlin spring
  • junit4
  • Spring boot
  • 의존성 주입
  • github actions
  • junit
  • 코틀린
  • Jetpack Compose
  • GIT
  • flow

최근 글

반응형
hELLO · Designed By 정상우.v4.3.0
Dev.Cho
[Git Remote] Git Remote에 저장된 브랜치 관리하기 : 브랜치 확인, 브랜치 가져오기
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.