개발관련/Git

"git export"(예 : "svn export")를 수행하는 방법

Rateye 2021. 11. 16. 10:33
728x90
반응형
질문 : "git export"(예 : "svn export")를 수행합니까?

.git 저장소 디렉토리없이 트리의 복사본을 만드는 좋은 "git export"솔루션이 있는지 궁금합니다. 내가 아는 적어도 세 가지 방법이 있습니다.

이러한 솔루션 중 어느 것도 만족스럽지 않습니다. svn export 가장 가까운 것은 옵션 1 일 수 있습니다. 둘 다 대상 디렉토리가 먼저 비어 있어야하기 때문입니다. 그러나 트리를 인덱스로 읽는 것이 무엇을 의미하는지 알아낼 수 있다고 가정하면 옵션 2가 더 좋아 보입니다.

답변

 


아마도 이것을 달성하는 가장 간단한 방법은 git archive 입니다. 확장 된 트리 만 정말로 필요한 경우 다음과 같이 할 수 있습니다.

git archive master | tar -x -C /somewhere/else

대부분의 경우 git에서 무언가를 '내보내기'해야하는 경우에는 어쨌든 압축 된 아카이브를 원하므로 이와 같은 작업을 수행합니다.

git archive master | bzip2 >source-tree.tar.bz2

ZIP 아카이브 :

git archive --format zip --output /full/path/to/zipfile.zip master 

git help archive 로 매우 유연합니다.

아카이브에 .git 디렉토리가 포함되지 않더라도 .gitignore, .gitattributes 등과 같은 다른 숨겨진 git 특정 파일이 포함됩니다. 아카이브에 포함하지 않으려면 다음을 확인하십시오. .gitattributes 파일에서 export-ignore 속성을 사용하고 아카이브를 수행하기 전에이를 커밋합니다. 더 읽어보기 ...

참고 : 색인 내보내기에 관심이있는 경우 명령은 다음과 같습니다.

git checkout-index -a -f --prefix=/destination/path/

(자세한 내용은 Greg의 답변 을 참조하십시오)

출처 : https://stackoverflow.com/questions/160608/do-a-git-export-like-svn-export
728x90
반응형