1 개 주 RoR에 프로젝트와 2 개 개의 추가 프로젝트의 주요 프로젝트의 일부 공유가 - 모델, 플러그인 등을좋은 방법
현재 모든 프로젝트가 svn의 외관과 같은 SVN 저장소 받고있다 공유 부품 용.
레이아웃을 git로 옮기는 가장 좋은 방법은 무엇입니까?
1 개 주 RoR에 프로젝트와 2 개 개의 추가 프로젝트의 주요 프로젝트의 일부 공유가 - 모델, 플러그인 등을좋은 방법
현재 모든 프로젝트가 svn의 외관과 같은 SVN 저장소 받고있다 공유 부품 용.
레이아웃을 git로 옮기는 가장 좋은 방법은 무엇입니까?
각 부품에 대한 저장소가 필요합니다. (각 프로젝트와 공유 된 부분을위한 하나 이상의 프로젝트).
이러한 공유 부분을 포함하려면 두 가지 가능성이 있습니다. 쉬운 일
첫째, 당신은 당신이 당신의 Gemfile에 [gemname]을 보석을 추가, 아무것도 연결하지 않아도 의미 공유 부분에 대한 (개인) 보석을 만들 수 있습니다. gem을 업데이트하면 모든 프로젝트가 변경된 코드를 사용합니다.
프로젝트에 외부 코드를 포함 시키려면 약간의 조직이 필요합니다. 공유 및 프로젝트 저장소를 모두 복제하는 루트 맵을 작성합니다. 그런 다음 공유 코드 폴더에 대한 (상대적) 심볼릭 링크를 만듭니다. git 저장소에이 심볼릭 링크를 추가하고 커밋 할 수 있습니다. 두 저장소를 모두 업데이트하고 커밋해야합니다.
번째 방법의 예 :
- projectfolder
--- shared code
--- project code
----- lib
------- shared (link to shared code)
공유 코드에 대한 링크가 공유 명령 LN -s "../../../shared 코드"에 의해 생성된다
Ofcourse, 이것은 심볼릭 링크 (mac 및 * nix)를 지원하는 시스템에서만 작동합니다.
첫 번째 대답을 받아 들였지만 상당히 다른 접근 방식을 선택했습니다.
본질적으로 모든 응용 프로그램은 하나의 프로젝트 (프론트 엔드, 백엔드 및 API)의 다른 측면이므로 LOT를 공유하므로 모든 저장소를 하나의 저장소 및 공유 링크로 매핑하기로했습니다 (git에서 처리 할 수 있음).
이렇게하면 저장소 구성이 단순 해지지 만 배포 스크립트가 약간 복잡해졌지만 이는 우리에게 유리한 결정이었습니다.