2009-08-27 5 views
3

배경 : 저는 Ph.D.에 대한 데이터를 분석하기 위해 일부 MATLAB 코드를 상속 받았습니다. 연구. 코드를 더 잘 이해할 수 있도록 예제 코드의 코드를 실행하는 데 필요한 파일의 최소 하위 집합을 작성했습니다.하나의 브랜치가 다른 브랜치의 서브 세트 인 개발 브랜치 유지하기

질문 : 저는 두 가지로 버전 관리 시스템에이 코드를 커밋 모든 코드를 포함하는 master 지점 및 코드의 제 깎았 다운 버전을 포함하는 minimal 지점 및 수 있도록하고 싶습니다 이 브랜치간에 변경 사항을 앞뒤로 병합합니다. 이것을 어떻게 할 수 있습니까?

나는 하나의 작업 디렉토리에서이 작업을 수행하고 Git 또는 Mercurial에서 분기를 명명하는 것을 선호하지만 다른 제안이 열려 있습니다.

편집 : 나는, 나는이 라인을 따라 이전 스택 오버플로 질문을 보았던 생각 난 그냥 그것을 발견 : Pushing updates to a pruned Mercurial branch합니다. 에있는 대답에 대한 답변은 입니다. 내가 말하고자하는 용어는 "좁은 복제"이고 은 Git 과 Mercurial 모두에서 진행중인 작업입니다.

답변

4

git와 mercurial 모두 잘 작동합니다. 마스터 브랜치를 생성 한 다음 최소 브랜치에 복사 한 다음, 이미 가지고있는 구현처럼 보이도록 최소한의 브랜치를 제거하십시오 (모든 추가 파일을 삭제하고 변경 한 파일을 복사하십시오).

그런 다음 분기간에 일반 병합 명령을 사용하십시오. 주로 최소 분기에서 마스터 분기까지 병합하는 것이 가장 좋습니다. 반대 방향으로 병합하면 더 많은 파일이 삭제 된 파일/제거 된 기능에 적용되므로 병합이 실패한 불만이 생깁니다.

+1

단일 리포지토리에서 두 개의 초기 커밋을 만들 수도 있습니다. 그러면 많은 수의 파일을 삭제하는 커밋이 필요 없지만 처음에는 커밋간에 중복 정보가 나타납니다. – Cascabel