답변:
Git 하위 모듈 을 사용하려는 것 같습니다 .
Git은 하위 모듈을 사용하여이 문제를 해결합니다. 하위 모듈을 사용하면 Git 저장소를 다른 Git 저장소의 하위 디렉터리로 유지할 수 있습니다. 이렇게하면 다른 저장소를 프로젝트에 복제하고 커밋을 별도로 유지할 수 있습니다.
나는 항상 심볼릭 링크를 사용하여 두 개의 분리되고 별개의 리포지토리를 유지했습니다.
.gitignore
않습니까?
rsync -avh --delete --exclude='.git' REPO-B/ REPO-A/REPO-B-copy/
REPO-B에 변경 사항이있는 경우 실행
예, 당신이 그린 파일 계층 구조로 당신이 요구하는 것을 정확히 할 수 있습니다. 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 명령을 설치하지 않은 경우에도 여전히 작동합니다. 전체 폴더 구조를 볼 수 있지만 변경 사항을 하위 저장소에 적용 할 수는 없습니다.