Git,  Programming

[Git] Repository의 Branch 로컬 저장소로 가져오기

Repository에 있는 master branch 외 다른 branch를 새롭게 가져올 경우는 많은데, 방법에 대해 소개한다.

Remote 정보 Update

Repository에 어떤 branch를 가지고 있는지 정보를 git remote update 명령어로 업데이트 할 수 있다.

$  git remote update
Fetching origin
Tremote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 4 (delta 3), reused 3 (delta 3), pack-reused 1
Unpacking objects: 100% (4/4), done.
From http://github.seccae.com/system-ip/sci_lite
 * [new branch]      seperated_r_w -> origin/seperated_r_w

Remote 정보 출력

실제 repository에 branch list를 git branch -r 명령어로 출력해준다.

$  git branch -r
  origin/HEAD -> origin/master
  origin/area_perf_opt
  origin/fixed_to_incr_ver
  origin/master
  origin/pause_bug_fix
  origin/seperated_r_w
  origin/taxi_wbuf_16

Branch를 로컬 저장소로 가져오기

만약 위 branch list에서 origin/seperated_r_w를 가져오고자 할 때 다음과 같이 수행하여 branch를 로컬 저장소로 가져올 수 있다.

$ git checkout -t [Target Branch Name]

$  git checkout -t origin/seperated_r_w
Branch 'seperated_r_w' set up to track remote branch 'seperated_r_w' from 'origin'.
Switched to a new branch 'seperated_r_w'
$  git branch
  master
* seperated_r_w

만약 branch를 가져와서 다른 이름으로 변경하고 싶을 때는 아래와 같이 명령어를 수행하면 된다.

$ git checkout -b [생성할 branch 이름] [원격 저장소의 branch 이름]

Clone 시 특정 Branch를 로컬 저장소로 가져오기

$ git clone -b [branch name] --single-branch [repository URL] [dir name]

만약 처음 git clone을 할 때 특정 branch만 clone을 하고자 할 때는 위와 같은 명령어로 수행 가능하다.

참고로 현재 local branch의 연결 정보를 보기 위해서 다음 명령어를 통해 확인 가능하다.

$ git branch -vv
  b1   95bb2bb [g2/b1] Implement sub function
* b2   a76ff3b [g2/b2] Add b.out binary file
  main 9cd26e2 [g2/main] Initial commit

Reference

  1. https://cjh5414.github.io/get-git-remote-branch/

Leave a Reply

Your email address will not be published. Required fields are marked *