> 웹 프론트엔드 > CSS 튜토리얼 > 합병 갈등 : 그들이 무엇인지, 그리고 그들을 다루는 방법

합병 갈등 : 그들이 무엇인지, 그리고 그들을 다루는 방법

尊渡假赌尊渡假赌尊渡假赌
풀어 주다: 2025-03-18 09:31:10
원래의
265명이 탐색했습니다.

합병 갈등 : 그들이 무엇인지, 그리고 그들을 다루는 방법

이 기사는 "Advanced Git"시리즈를 계속합니다. 트위터의 타워를 팔로우하거나 향후 기사에 대한 업데이트를 위해 뉴스 레터를 구독하십시오.

합병 갈등 : GIT 사용자, 특히 공동 작업 사용자에게 일반적인 좌절. 그러나 그들은 종종 그들이 보이는 것보다 덜 어려운 일입니다. 이 할부는 그들의 원인, 자연 및 해결을 설명합니다.

고급 GIT 시리즈 :

  1. 1 부 : git 커밋 마스터
  2. 2 부 : 효과적인 git 분기 전략
  3. 파트 3 : 풀 요청과의 협업 간소화
  4. 파트 4 : 다루는 갈등을 병합합니다 ( 여기 있습니다! )
  5. 5 부 : Rebase vs. Merge : 비교 분석
  6. 6 부 : 대화 형 레바 제의 힘
  7. 7 부 : 체리 피킹 커밋 : 선택적 접근
  8. 파트 8 : 리플 로그와 함께 잃어버린 커밋 복구

충돌 합병 갈등 : 원인과 발생

다른 소스의 변경 사항을 현재 지점에 통합 할 때 병합 충돌이 발생합니다. 이것은 지점 병합에만 국한되지 않습니다. 리바스, 체리 피킹, git pull 또는 심지어 은신처 재시체는 모두 충돌을 유발할 수 있습니다. 모든 통합이 갈등으로 이어지는 것은 아니지만, 모순이 변경되면 갈등이 발생합니다.

Git의 병합 능력은 주요 강점입니다. 대부분의 통합을 자동으로 처리합니다. 그러나 충돌이 변경 될 때 (예 : 동일한 코드 라인이 두 커밋 또는 한 분기에서 수정되고 다른 분기에서 삭제 된 파일에서 다르게 수정되면, 모호성을 해결하기 위해 인간의 개입이 필요합니다.

합병 충돌을 인식합니다

Git은 분명히 충돌을 병합합니다. 실패한 병합 또는 Rebase가 터미널에서 즉시보고됩니다.

 <code>$ git merge develop CONFLICT (content): Merge conflict in index.html Automatic merge failed; fix conflicts and then commit the result.</code>
로그인 후 복사

이 메시지를 놓치더라도 git status 갈등을 강조 할 것입니다. Tower와 같은 Git Guis는 갈등을 간과하지 않도록 시각적 신호를 제공합니다. 안심하십시오. git은 병합 충돌을 놓치기가 어렵습니다.

병합 충돌 취소

병합 충돌을 무시하는 것은 선택 사항이 아닙니다. 해결해야합니다. 당신은 두 가지 선택이 있습니다 : 갈등을 해결하거나 그 일을 일으킨 조치를 취소하십시오.

UNDOING은 종종 --abort 매개 변수를 사용하여 간단합니다 (예 : git merge --abort , git rebase --abort ). 이것은 합병/Rebase를 역전시켜 전 분쟁 상태를 복원합니다. 파일 해결을 시작하더라도 작동합니다. 언제든지 중단하고 다시 시작할 수 있습니다.

병합 충돌의 해부학

충돌 된 index.html 파일을 살펴 보겠습니다.

git은 로 충돌하는 섹션을 표시합니다. 이 마커의 내용은 현재 분기 (헤드)에서 나온 것입니다. <code>======= 충돌하는 변화를 분리 한 다음 로 표시된 다른 지점 (예 : develop )의 변경 사항을 분리합니다.

귀하의 작업은 텍스트 편집기, IDE, GIT GUI 또는 MERGE 도구를 사용하여 파일을 편집하여 충돌을 해결하는 것입니다.

해결 해결 충돌

텍스트 편집기, IDE, GUI 또는 MERGE 도구 인 해상도 방법은 중요하지 않습니다. 최종 파일은 원하는 상태를 반영해야합니다. 간단한 갈등에는 변화를 버리는 것이 포함될 수 있습니다. 보다 복잡한 갈등은 어떤 변화를 유지 해야하는지 또는 결합하는 방법을 결정하기 위해 협력이 필요할 수 있습니다.

수동 편집은 가능하지만 전용 도구는 종종 프로세스를 간소화합니다. Git Guis는 시각적 충돌 해결 AIDS를 제공합니다. 병합 도구는 고급 차이보기 및 비교 기능 (나란히, 결합 뷰 등)을 제공합니다. git config 사용하여 선호하는 도구를 구성하고 git mergetool 로 호출하십시오.

충돌을 해결하고 변경 사항을 준비한 후 ( git add<filename></filename> ), 평소와 같이 변경 사항을 커밋하십시오.

당황하지 말 것!

병합 갈등은 관리 가능합니다. 원인을 이해하면 충돌을 취소하거나 해결할 수 있습니다. 실수조차 가역적입니다. 사전 분쟁 커밋으로 되돌아 가서 다시 시작하십시오.

고급 git에 대한 더 깊이 다이빙하려면 분기, 대화식 레바 제, 리플 로그, 서브 모듈 등에 비디오가 포함 된 무료 "고급 git 키트"를 탐색하십시오.

고급 GIT 시리즈 :

  1. 1 부 : git 커밋 마스터
  2. 2 부 : 효과적인 git 분기 전략
  3. 파트 3 : 풀 요청과의 협업 간소화
  4. 파트 4 : 다루는 갈등을 병합합니다 ( 여기 있습니다! )
  5. 5 부 : Rebase vs. Merge : 비교 분석
  6. 6 부 : 대화 형 레바 제의 힘
  7. 7 부 : 체리 피킹 커밋 : 선택적 접근
  8. 파트 8 : 리플 로그와 함께 잃어버린 커밋 복구

위 내용은 합병 갈등 : 그들이 무엇인지, 그리고 그들을 다루는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿