728x90
반응형
질문 : git 저장소에서 하나의 파일 만 드물게 체크 아웃하는 방법은 무엇입니까?
git repo에서 하나의 파일 만 체크 아웃하려면 어떻게해야합니까?
답변
원래 나는 2012 git archive
( Jared Forsyth 의 답변 및 Robert Knight 의 답변 참조 )에서 git1.7.9.5 (2012 년 3 월) 이후 Paul Brannan 의 답변을 언급했습니다.
git archive --format=tar --remote=origin HEAD:path/to/directory -- filename | tar -O -xf -
그러나 2013 년에는 원격 https://github.com URL에 대해 더 이상 불가능했습니다.
이전 페이지 " 저장소를 아카이브 할 수 있습니까? "를 참조하십시오.
현재 (2018) 페이지 인 ' GitHub의 콘텐츠 및 데이터 보관 정보 '에서는 GHTorrent 또는 GH Archive 와 같은 타사 서비스를 사용할 것을 권장합니다.
따라서 로컬 복사본 / 클론도 처리 할 수 있습니다.
이 답변 에서 언급 한 바와 같이 베어 저장소의 로컬 사본이있는 경우 다음을 수행 할 수 있습니다.
git --no-pager --git-dir /path/to/bar/repo.git show branch:path/to/file >file
또는 먼저 리포지토리를 복제해야합니다. 즉, 작업 트리의 .git 리포지토리에서 전체 기록을 가져옵니다.
- 그러나 다음과 같이 희소 체크 아웃을 수행 할 수 있습니다 (Git1.7 이상을 사용하는 경우).
- 스파 스 체크 아웃 옵션 활성화 (
git config core.sparsecheckout true
) .git/info/sparse-checkout
파일에보고 싶은 내용 추가- 필요한 것만 표시하기 위해 작업 트리 다시 읽기
- 스파 스 체크 아웃 옵션 활성화 (
작업 트리를 다시 읽으려면 :
$ git read-tree -m -u HEAD
이렇게하면 원하는 것을 정확하게 포함하는 작업 트리가 생성됩니다 (파일이 하나 뿐인 경우에도).
Richard Gomes 는 (주석에서 ) " 어떻게 단일 디렉토리 또는 git 저장소의 디렉토리 목록을 복제, 가져 오기 또는 스파 스 체크 아웃합니까? "를 지적합니다.
히스토리 다운로드를 피하는 bash 함수는 단일 분기를 검색하고 필요한 파일 또는 디렉토리 목록을 검색합니다.
출처 : https://stackoverflow.com/questions/2466735/how-to-sparsely-checkout-only-one-single-file-from-a-git-repository
728x90
반응형
'개발관련 > Git' 카테고리의 다른 글
Git이 rebase에서 관련 없는 기록을 병합하는 것을 거부할 때 (0) | 2021.12.08 |
---|---|
Git 로컬 분기 삭제 실행 취소하는 방법 (0) | 2021.12.08 |
Git에서 HEAD, 작업 트리 및 인덱스의 차이점 (0) | 2021.12.07 |
Git 사용시 "Error: bad index – Fatal: index file corrupt"해결 방법 (0) | 2021.12.06 |
Windows 에서 Git Bash의 속도를 높이는 방법. (0) | 2021.12.06 |