[git] 다른 git repo 안에 git repo 유지

내가 원하는 것은 다음과 같습니다.

REPO-A
  /.git
  /otherFiles
  /REPO-B
    /.git
    /moreFiles

REPO-A의 모든 콘텐츠를 REMOTE-A 에 푸시 하고 REPO-B REMOTE-B 에 푸시하고 싶습니다 .

가능한?



답변

Git 하위 모듈 을 사용하려는 것 같습니다 .

Git은 하위 모듈을 사용하여이 문제를 해결합니다. 하위 모듈을 사용하면 Git 저장소를 다른 Git 저장소의 하위 디렉터리로 유지할 수 있습니다. 이렇게하면 다른 저장소를 프로젝트에 복제하고 커밋을 별도로 유지할 수 있습니다.


답변

나는 항상 심볼릭 링크를 사용하여 두 개의 분리되고 별개의 리포지토리를 유지했습니다.


답변

예, 당신이 그린 파일 계층 구조로 당신이 요구하는 것을 정확히 할 수 있습니다. Repo-B는 독립적이며 Repo-A에 대한 지식이 없습니다. Repo-A는 자체 파일 및 Repo-B 파일의 모든 변경 사항을 추적합니다.

그러나 나는 이것을 권장하지 않습니다. Repo-B에서 파일을 변경하고 커밋 할 때마다 Repo-A에서 커밋해야합니다. Repo-B에서 분기하면 Repo-A가 엉망이되고 Repo-A에서 분기가 불안정 해집니다 (폴더 제거 문제 등). 서브 모듈은 확실히 갈 길입니다.


답변

“git-subrepo”를 사용하여 원하는 것을 얻을 수 있습니다 (REPO-A 저장소에는 참조가 아닌 REPO-B 폴더에있는 파일을 포함하여 모든 파일이 포함됨).

https://github.com/ingydotnet/git-subrepo

기여자 중 일부가 subrepo 명령을 설치하지 않은 경우에도 여전히 작동합니다. 전체 폴더 구조를 볼 수 있지만 변경 사항을 하위 저장소에 적용 할 수는 없습니다.


답변