2010-01-14 5 views
5

여기 장면이 있습니다 : 저는 현재 내 프레임 워크와 클라이언트의 웹 사이트에서 작업하고 있습니다. 내가 GitHub의에 _framework/* _public/index.php에와 구조 _Application (_controllers의 _models 및 _views 빈 폴더)가있는 REPO을 가지고 싶습니다하나의 폴더에 두 개의 git repos를 사용합니다.

. 
.. 
_application 
_framework 
_public 

: 여기에 구조입니다. 또한이 모든 것을 로컬에 포함하는 저장소를 갖고 싶습니다.

나는 git-modules로 이것을 할 수 있다고 생각했지만, 튜토리얼을보고 난 후에도 여전히 이것을 이해하지 못한다.

누군가 나에게 좀 더 설명 할 수 있을까요? 고마워요!

+0

내가 한 일은 다음과 같습니다. 나는 그 안에 프레임 워크의 내용을 담은 디렉토리를 만들었습니다. 나는 그것에서 git repo를했다. 그리고 나서 고객의 프로젝트를위한 또 다른 디렉토리를 만들었습니다. 나는 그것에 repo를 만들고 내 github의 프레임 워크 repo를 복제. 그리고이 작업을 수행 한 이후로 덮어 쓰지 않고도 프레임 워크에 커밋 할 수 있습니다.그리고 직접 프레임 워크에 변경 사항을 적용 할 때 커밋하고 밀어 넣고 프로젝트의 디렉토리에서 가져올 수 있습니다. 나는 그것이 좋은 생각이라고 생각한다. – TomShreds

+0

당신의 제목은 약간 불분명하다. 그것은 당신이 같은 폴더에서 두 개의 자식 리포지토리를 사용하고 싶다고 믿게하지만 두 개의 하위 폴더에 두 개의 자식 리포지토리를 사용했습니다. 나는 실제로 동일한 폴더에있는 다른 파일을 추적하기 위해 두 개의 별도의 자식 repos를 사용할 수 있는지 알고 싶습니다. – Chad

+1

@Chad, 예 그들은 할 수 있습니다 : 나는 그것을하는 스크립트를 만들었습니다 : https://github.com/capr/multigit – cap

답변

7

원하는 구조 당 하나의 repo를 정의하고 수퍼 프로젝트에서 서브 모듈을 통해 결합 할 수 있습니다.

서브 모듈의 특성에 대한 자세한 내용은 this question을 참조하십시오.

추출 :

서브 모듈은 메인 프로젝트는 (여기에서 "하위 모듈로 선언 다른 Git 저장소") 다른 구성 요소의 특정 커밋을 참조하는 component-based approach 개발을 가질 수 있습니다.

서브 모듈은 주요 프로젝트 개발주기에 구속되지 않는 다른 Git 저장소에 대한 마커 (커밋)입니다. 서브 프로젝트는 독립적으로 진화 할 수 있습니다 ("다른"Git 저장소). 필요한 다른 프로젝트를 선택하는 것은 기본 프로젝트입니다.

그러나 기본 프로젝트에서 직접 하위 모듈 중 하나를 수정하고 싶다면 Git은 원래 하위 Git repo에 서브 모듈 수정 사항을 게시 한 다음 메인 프로젝트는 상기 서브 모듈의 새로운 버전을 가리킨다.

그러나 주요 아이디어는 남아 :

  • 가 자신의 개발

목록이 태그의 자신의 세트를 가지고 자신의 라이프 사이클이 : 특정 구성 요소를 참조 기본 프로젝트에서 참조하는 특정 커밋은 사용자의 configuration을 정의합니다 (이것은 Configuration Manag 장담은 당신이 정말로 독립적으로 서로를 발전 할 수있는 두 구조를 가지고한다면, 서브 모듈이 잘 맞는 모든


)에 불과 Version Control System 포함에 관한 것입니다.

관련 문제