이 작업을 수행 한 몇 가지 모듈이 있으며 본질적으로 수행 한 작업은 다음과 같습니다.
- 모듈에 대한 Git 저장소를 설정하십시오.
- 이 모듈을 프로덕션 사이트의 코드베이스에 배치하고 다음을 포함한 모든 것을 커밋하십시오.
- modman이 만든 소프트 링크
- 복제 된 모듈 저장소를 저장하는 .modman 디렉토리
- modman을 사용하여 개발 및 테스트를 위해 다른 버전 및 / 또는 개발 환경에 "배포"하십시오.
이 방법을 사용하면 모듈 개발에 필요한 유연성을 확보하고 단일 사이트의 코드도 버전 화하며 단일 사이트 코드베이스에서 모듈을 변경하면 모듈 저장소에 직접 커밋 할 수 있습니다. repo는 .modman 디렉토리에 있습니다.
업데이트 :
처음에 이것을 썼을 때 나는 Git이 (서브) 모듈을 저장소에 커밋 할 수 없다는 것을 내 대답으로 고려하지 못했습니다.이 경우 "모든 것을 커밋"하는 데 약간의 정교함이 필요합니다!
덧붙여서, 이것은 modman을 사용하여 Git 저장소에 저장된 모듈을 SVN에 저장된 프로덕션 코드베이스에 배포하기 위해 더 자주 수행했기 때문입니다 ... Subversion에는 전체 Git 트리를 VCS에 커밋하는 것을 막는 스크럽이 없습니다.
여기로갑니다…
SVN을 사용하여 프로덕션 사이트의 코드를 저장하는 경우 Subversion에 하위 모듈 개념이 없기 때문에 문제가 없습니다. 상관 없어요
프로덕션 사이트의 코드에 Git을 사용하는 경우 하위 모듈을 사용하여 사이트의 코드 리포지토리에 "모든 것을 커밋"해야합니다. modman을 사용하여 다음과 같이 복제 한 후 :
modman clone ssh://git@bitbucket.org/<user>/<repo>.git
또한 다음과 같이 하위 모듈로 추가하고 싶을 것입니다.
git submodule add ssh://git@bitbucket.org/<user>/<repo>.git .modman/<repo>
이 작업을 완료하면 .modman 디렉토리 및 .gitmodules 파일을 색인에 추가하고 커밋 할 수 있어야합니다.
modman을 통해 설치된 이러한 모듈을 사용하는 저장소를 복제 한 후에는 하위 모듈을 초기화하고 업데이트하십시오.
git submodule init
git submodule update
추신 : 나는 이제 모든 새로운 프로젝트에서 Git 풀 타임을 사용 하므로이 감독이 다시는 일어나지 않기를 바랍니다. 미안해 ;)