AI 탐구노트

Github repository의 특정 폴더만 다운로드하는 법 본문

기술 팁

Github repository의 특정 폴더만 다운로드하는 법

42morrow 2024. 10. 29. 10:37

 

 

1.개요

 

Github Repository 전체를 Clone 하지 않고 하부에 있는 특정 폴더의 파일만 다운로드 받고자 합니다. 이유는 해당 Repository에서 제공하는 코드는 사용하지 않지만, 공개된 이미지나 데이터셋 혹은 가중치 파일만 다운받고 싶을 때가 있기 때문입니다. 물론 clone 후 해당 부부만 복사해서 사용해도 되겠지만 한방에 할 수 있는 방법이 있다면 그것을 이용하는 것이 훨씬 편하겠죠?

 

2. 방법

2.1. 다운로더 사이트 이용

이런 작업을 전문으로 해 주는 도구가 있습니다. 'downgit'이라는 것인데, 원하는 위치에 있는 것을 압축해서 다운로드 할 수 있도록 해 주어 사용이 아주 간편합니다. 저는 이걸로!!! 아래는 deepface의 dataset 폴더 링크를 입력해서 이를 파일로 다운로드 할 수 있도록 하는 예시입니다. 

 

그림 : DownGit 페이지 상에서 deepface의 특정 폴더를 다운받는 장면

 

그림 : 폴더 이름의 압축파일 형태로 받을 수 있음

 

 

2.2. git sparse-checkout 이용

다운받고자 하는 폴더를 생성하고 터미널 상에서 다음과 같이 진행합니다. git 자체의 기능을 이용하긴 하지만, 흠... 생각보다 일이 많네요... 저는 이 방식은 채택하지 않을 듯 싶습니다. 

# 다운받을 폴더 생성
$ mkdir folder
$ cd folder

# local repository 초기화
$ git init
$ git remote add -f origin <repo url>

# sparse-checkout 활성화
$ git sparse-checkout init --cone

# 특정 폴더만 체크아웃
$ git sparse-checkout set <폴더 경로>

# 원하는 폴더만 다운로드
$ git pull origin main  # main 브랜치 예

 

 

3. 결론

Github repository 상의 특정 폴더만 다운로드 받는 방법을 알아 봤습니다. 사실 이렇게 체계적이지 않게 데이터를 수집하는 경우에나 필요한 방법이고 그렇지 않으면 많이 사용하지는 않을 것 같긴 합니다. 그래도 필요한 경우가 되면 꼼수나 팁은 언제나 다시 도움이 되기에 기록해 봤습니다.