2009-05-18 7 views
3

Doxygen을 배우기 위해 지점을 만들고 느리게 움직이는 프로젝트에 대한 소스 파일 주석을 수정했습니다. 그러나 해당 프로젝트 이후 여러 개의 작은 파일로 큰 파일을 분할, 큰 변화가 있었다 :분기 간의 큰 변경 사항 병합을위한 팁

big_file.c -> big_file.c file_a.[ch] file_b.[ch] 

내가 내 지점에 동일한 작업을 수행합니다. 물론 내 지사의 large_file.c를 file_a. [ch] 등으로 복제하고 관련이없는 부분을 삭제하여 손으로 병합 할 수 있습니다. 그러나 오류 발생 가능성이 적은 방법이 있는지 궁금합니다.

답변

0

일부 상황에서는 git 병합이 자동으로 이러한 종류의 변경 사항을 따를 수 있습니다. 복잡한 작업을하기 전에 먼저 병합을 먼저 시도하는 것이 좋습니다.

+0

나는 병합을 시도했다. doxygen 브랜치의 big_file.c에 대한 변경 사항 중 일부를 새로운 file_a.c로 전파하지만 다른 것을 삭제합니다. 이것은 오류의 원인입니다. 나는 (소스 전체에 흩어져있어, 병합 중에 많은 불일치를 일으키는) 주석을 재가공해야 할 것이다. – themis

1

시간이 많이 걸렸지 만 지루하면 병합을 상당히 빠르게 수행했습니다. 미래 참고로,이 프로젝트는 두 가지 모범 사례 다음 :

  • 자주 작은 커밋
  • 을 만 분할은 새로운 기능이 추가되지 않았다 이루어졌다

내 지점으로 병합 첫 번째 변화가 있었다 여러 개의 빈 파일 (file_a. [ch], file_b. [ch])이 생성됩니다. 단순 병합. 두 번째 변경 사항은 big_file.c의 코드와 파일 _a에 통합 된 코드 인 &입니다. [ch]. 그 병합은 심지어 약간의 갈등과 함께, 간단했다. 프로젝트의 HEAD가 아주 적은 충돌로 내 지부로 병합 될 때까지 다른 변경 사항과 마찬가지로. 그 이후로 추적 변경 사항은 간단합니다.

관련 문제