2017-11-16 10 views
1

내 문제는 다음과 같습니다.'동일한'코드베이스의 여러 버전에서 초기 git 저장소를 만드는 방법은 무엇입니까?

공통 루트가없는 동일한 프로젝트의 '분기'같은 여러 디렉토리가 있습니다. (궁극적으로 결석한다는 의미가 아니라 손실이라는 의미에서)

단일 마스터 분기를 만들기 위해 이들을 병합해야합니다. 일부 버전은 다른 버전에서 파생 된 것으로 알고 있지만 불행히도 많은 개발자가 작업 복사본에서 필요하지 않은 소스 파일을 삭제했기 때문에 부모보다 더 고급 스럽다는 의미는 아닙니다.

올바르게 병합하려면 어떻게해야합니까?

물론 빈 저장소를 만든 다음 모든 디렉토리를 분기로 추가하고 하나씩 병합하려고 할 수 있습니다. 그러나 더 좋은 옵션이 있습니까?

+0

먼저 git repo (버전 제어)에서 디렉토리를 관리 한 다음 git 명령으로 다른 디렉토리를 병합하는 것이 좋습니다. mv/copy 명령은 대개 대상 파일을 덮어 쓰거나 덮어 쓰지 만 충돌은 수동으로 해결하지 못하게합니다. –

답변

1

고려 :

  • 병합 개발자 이후 (병합도 자동이 아닐 것이다
  • (인해 두 지점 사이의 적절한 공통 조상의 부족으로) 어쨌든 3-way merge되지 않을 것 삭제할 소스가없는 경우 간단한 병합을 수행하지 않고 대상 분기에서 동일한 소스를 차례로 삭제할 수 있습니다.

가장 안전한 조치 방법은 타사 소스 코드를 사용하는 것입니다. 파티 병합 도구 (WinMerge, kdiff3, BeyondCompar e, ...), 조심스럽게 그 폴더를 하나의 target git repo 폴더에 병합하십시오. 특히 소스에없고 대상에있는 파일에주의하십시오. 이러한 삭제를 무시하고 대상 파일을 유지하려고합니다.