기본 Unix 명령을 사용하여 git 저장소를 복사(복제 아님)해도 괜찮나요?

기본 Unix 명령을 사용하여 git 저장소를 복사(복제 아님)해도 괜찮나요?

저는 git 사용이 처음 이고 .net 대신 일반적인 UNIX 명령( cp또는 tar/ ) 을 사용하여 Git 저장소를 복사해도 괜찮은지 궁금합니다 . untaggit clone

저는 일부 코드가 git에서 체크아웃된 프로덕션 환경(Python virtual)이 있는 상황에 있습니다. git 관점에서 a tar또는 무언가를 사용하여 전체 환경을 복사하는 것이 나쁜 생각인지 궁금합니다 . 이 접근 방식은 코드베이스/환경의 빠른 복사본을 만드는 데 편리합니다.

내 관심사는 git clone이 일부 고유 ID를 작업 복사본과 연결하여 하나가 다른 파일 시스템에서 복사된 두 개의 작업 복사본이 있는 경우 충돌을 일으킬 수 있다는 것입니다.

답변1

완벽하게 괜찮습니다.

git모든 기록, 커밋 등을 사이트에 저장합니다. 이는 DCVS의 기본 속성입니다.

기술적으로 말하면, gitDCVS의 요점은 다음과 같기 때문에 어디에서나 실행되는 복사된 저장소로 잘 작동할 수 있습니다.특정 저장소 외부에서 무슨 일이 일어나고 있는지 알 필요가 없습니다.,그리고 실제로는 당신이 말하지 않는 한 그렇지 않습니다.

여기에도 동일한 원칙이 적용됩니다.

답변2

전체 작업 디렉터리를 시스템의 다른 위치로 복사할 수 있어야 하며 Git, Hg 또는 SVN을 사용할 때 정상적으로 계속 작동할 수 있어야 합니다. 다른 SCM에 대해서는 언급할 수 없습니다.

답변3

이것은 좀 더 특이한 사용 사례이지만...

나는 본 적이있다repo유틸리티는 디렉토리에 심볼릭 링크를 만듭니다 .git. 이 경우 복사를 수행할 때 심볼릭 링크를 역참조하는지 확인하는 것이 좋습니다. 예:

cp -r -L <source-repo-dir> <destination-repo-dir>

답변4

괜찮습니다. 하지만 저장소를 다른 사람과 공유하려는 경우 다음 사항을 고려하십시오.:

  • 귀하의 config파일에는 다른 사람이 신경 쓰지 않을 수도 있는 리모컨이 있을 수 있습니다.
  • 폴더 logs에는 공유하고 싶지 않은 참조가 있을 수 있습니다. Git은 최종 결과에 만족할 때까지 컴퓨터에서 불쾌한 작업을 수행한 다음 이를 원격으로 푸시하여 (가끔) 공유할 수 있도록 하는 데 훌륭합니다. 불쾌한 기록 중 일부가 귀하의 리플로그에 있을 수 있으므로 공유하지 않는 것이 좋습니다. IMHO.
  • 파일 info/exclude이 일부 파일만 무시할 수 있습니다.무시하고 싶다.
  • 또한 후크, 가지 및 개인용이며 공유하지 않는 기타 여러 가지 항목을 가질 수도 있습니다.

관련 정보