git
복제를 수행 할 때 전달할 플래그가 .git
있습니까 (예 : 디렉토리를 복제하지 마십시오) ? 그렇지 않은 경우 .git
복제 후 디렉토리 를 삭제하는 플래그 는 어떻습니까?
답변
사용하다
git clone --depth=1 --branch=master git://someserver/somerepo dirformynewrepo
rm -rf ./dirformynewrepo/.git
- 깊이 옵션을 사용하면 해당 리포지토리를 얻을 수있는 최소 기록을 복사해야합니다.
- 분기 옵션은 선택 사항이며 지정하지 않으면 마스터가됩니다.
- 두 번째 줄은
dirformynewrepo
더 이상 Git 저장소가 아닌 디렉토리를 만듭니다 . - 재귀 하위 모듈 복제를 수행하는 경우 깊이 및 분기 매개 변수가 하위 모듈에 적용되지 않습니다.
답변
파일 만 원하므로 파일을 git repo로 취급하지 않아도됩니다.
rsync -rlp --exclude '.git' user@host:path/to/git/repo/ .
이것은 로컬 경로 및 원격 ssh / rsync 경로에서만 작동하며 원격 서버가 git : // 또는 https : // 액세스 만 제공하는 경우 작동하지 않을 수 있습니다.
답변
또는 Node.js가 설치되어 있으면 다음 명령을 사용할 수 있습니다.
npx degit GIT_REPO
npx
노드와 함께 제공되며 이진 노드 기반 패키지를 먼저 설치하지 않고 실행할 수 있습니다 (또는 degit
먼저을 사용하여 전역으로 설치할 수 있음 npm i -g degit
).
Degit 은 Svelte and Rollup을 만든 Rich Harris가 만든 도구로, git 폴더를 유지하지 않고 리포지토리를 복제하여 새 프로젝트를 빠르게 만드는 데 사용합니다. 그러나 그것은 또한 어떤 repo를 한 번 복제하는데 사용될 수 있습니다 …
답변
당신은 항상 할 수 있습니다
git clone git://repo.org/fossproject.git && rm -rf fossproject/.git