git 병합 충돌에서 생성되는 BACKUP, BASE, LOCAL 및 REMOTE 파일은 무엇입니까?


122

LOCAL 및 REMOTE 파일이 이름에서 알 수 있듯이 BASE 및 BACKUP은 무엇입니까?

답변:


166

Git은 3 방향 병합을 수행하여 병합하려는 두 가지의 공통 조상 ( "병합 기반"이라고도 함)을 찾습니다. git mergetool충돌시 호출 하면 일반적인 3 방향 병합 도구에 공급하기에 적합한 이러한 파일이 생성됩니다. 그러므로:

  • foo.LOCAL: 충돌의 "우리"쪽-즉, HEAD병합의 결과를 포함 할 분기 ( )
  • foo.REMOTE: 갈등의 "자신들"쪽-병합하려는 분기 HEAD
  • foo.BASE: 공통 조상. 3 방향 병합 도구에 공급하는 데 유용합니다.
  • foo.BACKUP: 병합 도구를 호출하기 전 파일의 내용은 mergetool.keepBackup = true.

9
아니요. LOCALHEAD. BACKUP를 호출하기 전에 디스크에 있던 버전입니다 mergetool. diff3 충돌 마커가 포함되어있을 수 있으며을 호출하기 전에 편집했을 수 있습니다 mergetool.
Edward Thomson


다음은 3 방향 병합을 포함한 병합 사례를 설명하는 좋은 기사입니다. git-scm.com/book/en/v2/…
qatz

16
LOCAL / REMOTE라는 단어는 오해를 불러 일으키고 "my changes"/ "remote changes"라고 생각하게 만들지 만 실제로는 "merge into master"의 맥락에서 LOCAL은 다른 사람의 수정 인 target branch이고 REMOTE 내 수정 사항 인 소스 분기입니다. :)
TingQian LI

8
그들은 ... 리베이스를하고 있습니까? 리베이스에서 측면이 반전되기 때문입니다.
Edward Thomson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.