2013-05-23 2 views
1

내 Git Repo에 디렉토리 A가 있습니다. 분기에서 A 디렉토리 아래에 B 디렉토리를 작성했습니다. 새 디렉토리를 작성/초기화하는 방법이 있습니까? 디렉토리 B에 힘내 레포? 그 디렉토리를 복사하고, 모든 .git 데이터를 지우고, 새로운 복사 된 디렉토리에서 git init을할까요?디렉토리의 브랜치에 새로운 자식 repo를 작성하십시오.

답변

1

아마도,하지만 당신은 모든 파일 기록을 잃을 것입니다. 이것은 큰 접근법이 아닙니다. 나는 새로운 레포를 새 폴더에 복제하는 것이 더 나은 방법이라고 생각하고, git rm을 사용하여 원하지 않는 파일을 버립니다.

1

git repo를 분할하여 git filter-branch를 사용하여 자체 저장소에 하위 디렉토리를 만들 수 있습니다.

페이지의 "How can I split a repository apart into smaller atomic repositories?"
(그리고 "Detach subdirectory into separate Git repository"

이 프로젝트 루트 있었다 foodir/ 것처럼 보일 수있는 저장소를 다시 작성하고, 다른 모든 역사를 삭제하려면 :

git filter-branch --subdirectory-filter foodir -- --all 

이렇게하면 기록을 보관할 수 있지만 원본 repo 중 하나를 다시 작성합니다 (다른 작성자가 새 복제본으로 복제본을 재설정해야 함을 의미 함). 노상 강도).

일단 완료되면 하위 디렉토리가있는 위치에서 새 저장소를 복제 할 수 있습니다. 중첩 된 저장소는 상위 저장소에서 무시됩니다.
또는 하위 repo를 submodule으로 포함 할 수 있습니다.

관련 문제