임베디드 관련 카테고리/Github

Git에서 특정 브랜치만 클론하는 방법 (Ubuntu/Linux)

CBJH 2024. 10. 18.
728x90
반응형

Git 프로젝트를 관리하다 보면 전체 저장소가 아닌 특정 브랜치만 클론하고 싶을 때가 있습니다. 이 글에서는 GitHub 저장소에서 특정 브랜치만 클론하는 방법과 그 활용법을 설명합니다.


1. Git 브랜치란?

Git에서 **브랜치(Branch)**는 독립된 개발 환경을 제공합니다. 개발자는 여러 브랜치를 사용해 새로운 기능을 개발하거나, 기존 코드를 테스트할 수 있습니다.
하지만 전체 저장소를 클론하지 않고 필요한 브랜치만 클론할 경우, 불필요한 파일이나 이력 정보를 다운로드하지 않으므로 시간을 절약할 수 있습니다.


2. 특정 브랜치만 클론하는 명령어

Git에서는 아래 명령어를 사용해 특정 브랜치만 클론할 수 있습니다: (Linux, Ubuntu 환경 bash 명령어)

git clone --branch <branch-name> --single-branch https://github.com/your-username/your-repository.git
  • <branch-name>: 클론하고자 하는 브랜치의 이름을 입력합니다.
  • --single-branch: 해당 브랜치만 다운로드하며, 다른 브랜치 정보는 제외합니다.
  • https://github.com/your-username/your-repository.git: 클론할 GitHub 저장소의 URL을 입력합니다.
  • https 방식 외에 ssh 방식으로도 가능하다. (ssh방식을 사용하기 위해선 Git와 SSH 연결 설정을 먼저 해야된다.)
  • 현재 폴더에 직접 저장하는 명령어
git clone --branch <branch-name> --single-branch https://github.com/your-username/your-repository.git .
  • .: 현재 디렉터리에 파일을 복사합니다(즉, Github 최상위 폴더를 만들지 않음).

예제

아래는 GitHub 저장소에서 **feature-branch**라는 이름의 브랜치만 클론하는 예제입니다:

git clone --branch feature-branch --single-branch https://github.com/example-user/example-repo.git

이 명령어는 feature-branch 브랜치만 다운로드하며, 다른 브랜치와 이력 정보는 포함하지 않습니다.


3. 특정 브랜치만 클론하는 이유와 장점

  1. 불필요한 데이터 절약: 전체 저장소를 다운로드하지 않고 필요한 브랜치만 가져옵니다.
  2. 빠른 다운로드: 브랜치 하나만 다운로드하므로 시간과 네트워크 자원을 절약합니다.
  3. 독립적인 작업: 메인 브랜치에 영향을 주지 않고, 특정 기능에 대한 개발 및 테스트를 빠르게 진행할 수 있습니다.

4. 이미 클론된 저장소에서 다른 브랜치로 전환하기

만약 전체 저장소를 클론한 후 특정 브랜치로 전환하고 싶다면, 아래 명령어를 사용하세요:

git fetch --all  # 모든 브랜치 정보 가져오기
git checkout <branch-name>  # 원하는 브랜치로 전환
  • 이 명령어들을 사용하기 위해선 Git과 SSH 연결 설정이 먼저 선행되어야한다.

5. HTTPS 대신 SSH로 클론하기

만약 SSH 키를 설정한 경우, HTTPS 대신 SSH 방식을 사용할 수 있습니다:

git clone --branch feature-branch --single-branch git@github.com:example-user/example-repo.git

이 방식은 패스워드 입력 없이 GitHub에 접근할 수 있어 더욱 편리합니다.


6. 정리

Git에서 특정 브랜치만 클론하는 방법은 불필요한 데이터 다운로드를 피하고, 특정 기능 개발에 집중할 수 있도록 도와줍니다. 브랜치를 다룰 때 효율성을 높이는 좋은 방법이니, 프로젝트에 맞게 활용해 보세요.


참고


이제 이 글을 참고해 Git에서 특정 브랜치만 클론해 보세요! 🚀

댓글