git/gitolite: 여러 미니 프로젝트가 포함된 큰 git repo

git/gitolite: 여러 미니 프로젝트가 포함된 큰 git repo

나는 전체 버전 제어에 대해 매우 익숙하지 않으며 git에서는 더욱 그렇습니다. 최근에 내 컴퓨터에 git을 설치하고 NAS 서버에 설정했습니다.

그러나 클라이언트 폴더당 여러 프로젝트 폴더가 있는 여러 클라이언트 폴더가 있습니다.

이러한 클라이언트 폴더 각각은 내부의 모든 프로젝트를 포함하는 거대한 저장소입니다.

제가 궁금한 것은 이것을 분리할 수 있는 방법이 있습니까? 예를 들면 다음과 같습니다.

  1. NAS는 나의 '원산지'이며 gitolite가 설치되어 있습니다.

  2. Computer1에는 클라이언트 폴더의 모든 프로젝트 폴더가 생성되었습니다(클린 브랜치).

  3. Computer2에서는~ 아니다클라이언트 브랜치를 새로 체크아웃합니다(해당 브랜치의 모든 프로젝트가 모두 완료되었고 작업 복사본이 필요하지 않기 때문입니다).하다해당 클라이언트 "newproject"에 대한 새로운 프로젝트 폴더가 있습니다.

Computer2에서 NAS 저장소에 커밋하고 푸시하는 방법이 있습니까?

아니면 이 모든 것을 정리하는 더 좋은 방법이 있을까요?

답변1

Git 리포지토리의 더 나은 구성은 클라이언트 프로젝트당 하나의 리포지토리를 갖는 것입니다(예: 클라이언트 폴더 내에 많은 리포지토리: 프로젝트 루트 디렉터리와 일치하는 각 클라이언트 폴더 하위 디렉터리 내에 하나의 .git).

클라이언트당 하나의 거대한 저장소를 갖는 아이디어는 반드시 좋은 아이디어는 아닙니다. 특히 다음과 같습니다.

  • 해당 폴더가 서로 독립적으로 발전할 수 있는 프로젝트로 구성된 경우.
  • 총계의 볼륨이 큰 경우(이는 모든 클론이 큰 클론이 됨을 의미함)

해당 프로젝트 중 일부가 서로 연결되어 있는 경우에도 다음 개념을 사용하여 해당 프로젝트를 하나의 (상위) 저장소로 볼 수 있습니다.서브모듈.

관련 정보