2010-01-11 5 views
25

'git svn clone'을 사용하여 SVN 서버에서 힘내 작업 사본을 만드는 중입니다. 그러나 이것은 꽤 시간이 걸립니다 (우리는 20,000 회 이상의 회전 수와 거의 10.000 개의 파일을가집니다). 다른 컴퓨터 (다른 개발자 용)도 같은 방식으로 설치하고 싶습니다. 결과 파일을 첫 번째 컴퓨터에서 다른 컴퓨터로 복사하여 시간을 절약 할 수 있습니까?Git 작업 복사본을 다른 컴퓨터에 복사 할 수 있습니까?

다른 말로하면 Git 작업 복사본에 생성 된 시스템과 관련이있는 항목이 있습니까?

감사합니다.

+5

네, 할 수는 있지만 전체 작업 트리를 복사 할 필요는 없습니다. 작업 트리없이'.git' 폴더 만 복사 할 수 있습니다 (예 : "맨"저장소). 그러면 다른 컴퓨터의 최신 작업 트리를 체크 아웃 할 수 있습니다. –

답변

32

복사 할 수 있습니다. 모든 내용은 .git 폴더 안에 있으며 다른 항목에 의존하지 않습니다.

+8

거의 사실입니다. 외부 프로그램을 참조 할 수있는 사용자 정의 diff 드라이버 및 후크 스크립트와 같은 구성 항목을 제외하고 일반적으로 플랫폼에 따라 다른 간단한 구성 항목이 있습니다. 다른 플랫폼간에 복사 할 때 core.ignorecase, core.autocrlf, core.safecrlf, core.fileMode와 같은 항목을 확인/설정/해제해야합니다. 그래도 복사 된 .git 디렉토리에서 다시 복제하는 것이 안전해야한다고 생각합니다. –

2

아니, 그냥 repo의 루트 디렉토리를 복사하는 것이 좋을 것입니다. 보이지 않는 파일도 확인하십시오. 특히.git 디렉토리 (프로젝트의 루트에 있음)에는 저장소에 대한 모든 구성 정보가 들어 있습니다.

7

그것은 당신이 .git 디렉토리를 복사 할 수 있습니다 또한 로컬 변경 사항이없는 경우 ("자식의 상태가"유지하려는 아무것도 표시되지 않습니다) 언급 할 가치가있다 "자식 체크 아웃을." 끝에 (거의 비어있는) 저장소 루트 디렉토리에서.

느린 링크 인 경우 전송하기 전에 리포지토리를 다시 포장 할 가치가 있습니다.

내가 걱정하는 유일한 점은 git-svn이 다른 개발자에게 복사하지 않으려는 사용자 정보를 기억하고있는 것입니다.

+1

내 이름과 이메일 주소는 실제로 .git/logs/refs/remotes/trunk에 나타납니다. 디렉토리가 '로그'라고 이름 지어졌지만 이것이 다른 개발자에게 문제가 될 수 있는지 궁금합니다 ... –

관련 문제