git을 활용해 모든 브랜치를 checkout하는 방법은?

2012-10-20 16:06

git를 사용하면서 브랜치를 확인해 보는 경우가 종종 있다. 그런데 브랜치를 확인해 보면 항상 로컬 브랜치 밖에 보이지 않는다. 로컬 브랜치 뿐만 아니라 원격 저장소에 있는 모든 브랜치를 checkout해서 관리하고 싶다는 궁금증에서 시작했다.

먼저 git clone을 통해 저장소를 checkout한다.

$ git clone https://github.com/javajigi/slipp-study-1.git $ cd slipp-study-1

checkout한 디렉토리로 이동한 후 local 브랜치를 확인한다.

$ git branch * master javajigi

위와 같이 로컬 브랜치만 보인다. 그런데 위 명령어에 '-a'만 추가해서 결과를 보니 원격 브랜치까지 모두 보인다.

$ git branch -a * master javajigi remotes/origin/HEAD -> origin/master remotes/origin/master remotes/origin/javajigi

위 결과와 같이 원격 브랜치까지 모두 볼 수 있다. 즉, 최초 clone을 할 때 모든 브랜치는 checkout이 되어 있는 상태이다. 그런데 일상적으로 git branch를 실행하면 로컬 브랜치 밖에 보이지 않기 때문에 이 같은 오해를 할 수 있겠다는 생각이 들었다.

5개의 의견 from SLiPP

2012-10-21 17:24

@stone 기존에 svn과 같은 시스템을 사용하고 있었다면 약간의 노력을 더하면 git에 적응할 수 있습니다. 물론 분산버전관리 시스템에 처음에 적응하는데 쉽지 않지만요.

의견 추가하기

연관태그

← 목록으로