[git] Swallow clone 과 브랜치
Swallow Clone 은 git 저장소에 커밋된 기록중 일부만 사용하는 기술 있다. 그런데 브랜치를 추가하면 원격지와 클론한 저장소에서 탐색이 안되는 단점이 있다. 여기서 swallow clone 에서 branch를 사용하는 방법을 요약한다.
Swallow Clone 에서 branch를 사용하자.
기본적으로 swallow clone 을 사용하면 원격 저장소의 branch 를 모두 볼 수 없다. 이것은 .git/config
를 보면 refs/remotes/origin/master
로 구성되어 있어서이다. 그래서 swallow clone 한 저장소는 원격 저장소의 master 브랜치만 보게 된다.
다음은 .git/config
의 일부이다.
1 | [remote "origin"] |
master 브랜치 대신 브랜치 트리 모두를 보려면 아래 같은 단계로 처리해 준다.
- 다음 같이 원격 저장소의 모든 브랜치를 대상으로 처리해 준다.
1 | git remote set-branches origin '*' |
origin 의 브랜치를 master에서 *
로 지정하면 .git/config
가 아래 같이 수정된다.
1 | [remote "origin"] |
- 이어서 원격 레포지토리를 업데이트 하면 관련한 브랜치 정보를 갱신한다.
1 | $ git remote update |
- 업데이트 한 후에 원격 브랜치만 검색해도 잘 나타난다.
1 | $ git branch -r |
- 원격지 브랜치를 체크아웃해서 사용하면 된다.
1 | $ git checkout -b t origin/1024_dev |
함께 보면 유용한 git 명령
간단하게 빌드/테스트 를 하기위함 이라면 `Sparse-checkout`` 과 함께 이용하면 좋다.
[git] Swallow clone 과 브랜치