ice rabbit programming

[Git] Clone할 때 브랜치/폴더명 지정하기 본문

Development/Git

[Git] Clone할 때 브랜치/폴더명 지정하기

판교토끼 2020. 9. 5. 13:34

소스를 다운받거나, 빌드 및 패키징을 진행할 때 clone을 하게 된다. 소스 다운이야 한 번 받으면 이후로는 git pull로 동기화하겠지만, 빌드 서버에서 빌드할 때에는 pull 시에 conflict 등 문제가 생겼을 때 직접 들어가서 봐주는 것이 생각보다 힘들다(귀찮다). 그래서 필자는 빌드 시에 clone한 폴더를 삭제한 후에 재clone하는 경우가 많았다.

git clone GIT_URL


위 명령어가 해당 git 원격 저장소를 clone해오는 기본적인 명령어이다.

하지만 master등 default branch가 아닌 특정 branch가 필요한 경우가 꽤나 많다. 예를 들어 빌드/배포 버전이 여러개인 경우, 위상이 다르게 유지되는 branch를 가져와야 한다.

git clone -b BRANCH_NAME --single-branch GIT_URL


git clone에서 -b 옵션을 통해 특정 브랜치만을 clone해올 수 있다. git pull시에 branch를 지정해주는 것과 비슷하게 동작한다.

clone한 저장소는 이름을 별도로 지정해주지 않으면 default로 repository name이 지정된다.
현재 본인은 groovy를 이용한 build.gradle로 빌드를 진행하고 있는데, 기존 clone된 폴더가 있는지 체크한 후에 삭제하기 위해서는 repository name을 알아야 하는데, string을 단순히 박아두기에는 변동될 경우 건드려야할 부분이 생기고, 모듈화하여 관리하기가 어려웠다. 그래서 기존의 정보를 이용해 clone할 폴더명을 지정해주어 해결하였다.

git clone GIT_URL DIR_NAME