형상 관리/Git

[Git] 특정 브랜치만 가져오기(clone)

기록원장 2025. 6. 18. 14:50
반응형
Git으로 저장소를 clone 할 때, 보통 전체 브랜치를 가져오는 경우가 많다.
그러나 특정 브랜치만 필요한 경우에는 --single-branch 옵션을 사용하여 원하는 브랜치만 선택적으로 clone 할 수 있다.

 

 

◆ 1. 작업 폴더로 이동


먼저 작업을 진행할 폴더로 이동한다.

cd [작업 폴더 경로]

 

 

◆ 2. 특정 브랜치만 clone 하기


아래 명령어를 입력하여 원하는 브랜치만 복제(clone)한다.

git clone -b [브랜치명] --single-branch [저장소주소]

-b : 브랜치를 지정하는 옵션

--single-branch 선택한 브랜치만 clone한다. 이 옵션을 사용하지 않으면 전체 브랜치를 clone 하게 된다.

 

특정 브랜치가 아닌 전체 브랜치를 clone하려는 경우는 아래 명령어를 사용한다.

git clone [저장소주소]

 

 

◆ 3. Gitea 인증 정보 입력


HTTP/HTTPS 방식의 경우, clone 명령어를 입력하면 사용자명과 패스워드 입력이 요구된다.

# Github
Username for 'https://github.com': [GitHub 사용자명 입력]
Password for 'https://[GitHub 사용자명]@github.com': [비밀번호 또는 토큰 입력]

# Gitea
Username for '[프로토콜]://[저장소주소]': [사용자명 입력]
Password for '[프로토콜]://[사용자명]@[저장소주소]': [비밀번호 입력]

 

 

◆ 4. 작업 확인


정상적으로 clone이 완료되면 아래와 같이 결과가 출력된다.

remote: Enumerating objects: 35242, done.
remote: Counting objects: 100% (35242/35242), done.
remote: Compressing objects: 100% (11135/11135), done.
remote: Total 35242 (delta 12826), reused 21891 (delta 11070), pack-reused 0
오브젝트를 받는 중: 100% (35242/35242), 20.09 MiB | 5.37 MiB/s, 완료.
델타를 알아내는 중: 100% (12345/12345), 완료.

 

만약 복제 중 명령어가 멈추었다면, 중단 후 다시 실행해야 할 수 있다.

# Ctrl + Z를 누르면 해당 프로세스가 백그라운드로 중지된다.
Ctrl + Z

# 기존 폴더를 삭제하고, 다시 clone 하면 정상적으로 복제된다.
rm -rf [저장소명]
git clone -b [브랜치명] --single-branch [저장소주소]

# 기존 폴더를 삭제하지 않고, 다시 clone 하면 이미 디렉터리가 존재한다는 에러가 발생한다.
fatal: destination path '[저장소명]' already exists and is not an empty directory.
fatal: 대상 경로가('[저장소명]') 이미 있고 빈 디렉터리가 아닙니다.

 


글 내용 중 잘못된 부분이 있거나, 첨부하실 내용이 있으시면 댓글로 남겨주세요. 공부하는데 많은 도움이 됩니다.
-- 기억의 유효기간은 생각보다 짧다. --

 

반응형