2014-05-23 1 views
4

높은 품질의 diff를 얻고 싶습니다. 얼마나 오래 걸릴지 걱정하지 않습니다.git merge를 할 때 strategy-option 플래그를 사용해야하는 상황은 무엇입니까? (인내 | 최소 | 히스토그램 | 마이어)

git merge --strategy-option=diff-algorithm=minimal develop 

From the docs

  • 기본, 마이어스 기본 욕심은 diff 알고리즘입니다. 현재 기본값은 입니다.

  • 최소 가능한 가장 작은 차이가 이되도록 여분의 시간을 보내십시오.

  • 인내 패치를 생성 할 때 "patience diff"알고리즘을 사용하십시오.

  • 히스토그램이 알고리즘은 인내 알고리즘을 " 낮은 발생 공통 요소 지원"으로 확장합니다.

summary of the patience algorithm in another answer 있습니다.

  • 히스토그램 알고리즘은 인텐시브 알고리즘보다 확장 성이 우수합니까?
  • '추가 시간을 보냈으므로'최소 알고리즘이 기본값보다 나은가요?
  • --strategy-option=patience--strategy-option=diff-algorithm=patience이 있습니까?
+0

Hmm -'git merge --strategy-option = minimal development'은 효과가없는 것 같아요, 최소한 전략으로 인식되지 않습니다. – Robert

+0

''git diff' 전략과'git merge' 전략 및 관련 옵션을 혼동하고 있다고 생각합니다. 이것들은 같은 것들이 아닙니다 ... – twalberg

+0

@twalberg - 저는이 옵션들이 git merge 명령과 공유되어 있다고 확신합니다. http://git-scm.com/docs/git-merge – Robert

답변

0

항상 히스토그램을 사용해야하며 걱정할 필요가 없습니다. 대다수의 모든 알고리즘은 똑같은 결과를 줄 것이다. 그러나 XML 파일이나 중괄호가 많이 포함 된 편집 된 C 파일이있을 것이다. myers와 minimal은 무의미한 반복 섹션을 병합한다. 파일과 충돌 섹션의 양쪽에 관련이없는 코드 섹션이있는 완전히 파손되고 사용할 수없는 출력이 있어야합니다. 인내와 히스토그램 모두 이러한 경우를 훌륭하게 처리하지만 히스토그램은 더 빠르게 실행됩니다. 히스토그램은 가장 빠르고 가장 빠른 알고리즘이기 때문에 다른 것을 사용할 이유가별로 없습니다.