GIT의 충돌을 해결하는 방법

Gitui Chungdol Eul Haegyeolhaneun Bangbeob



이 게시물에서는 보여 드리겠습니다 GIT의 충돌을 해결하는 방법 . GIT를 통해 개발자는 메인 코드베이스에서 지점을 만들어 독립적 인 변경을 할 수 있습니다. 그런 다음 이러한 변경 사항을 기존 코드로 병합 할 수 있습니다. 이를 통해 팀은 다른 사람들이 작업을 완료하기를 기다리지 않고 병렬로 일할 수 있습니다.



  GIT의 충돌을 해결하는 방법





Windows 10 비밀번호를 비밀번호로 변경

그러나 다른 지점에서 동일한 코드 부분이 변경되면 병합 충돌이 발생할 수 있습니다. Git은 항상 이러한 갈등을 스스로 해결할 수는 없습니다. 이 경우 들어가서 수동으로 수정해야합니다.





GIT의 충돌을 해결하는 방법

몇 가지 방법이 있습니다 GIT의 병합 충돌을 해결하십시오 , 워크 플로, 도구 및 편안함 수준에 따라. GIT 명령을 사용하여 터미널에서 직접 해결하거나 VS 코드와 같은 텍스트 편집기를 사용하거나 GitHub 데스크탑, Sourcetree 또는 GitkRaken과 같은 GUI 도구에 의존 할 수 있습니다. 병합 충돌이 어떻게 발생하는지, GIT 및 Visual Studio Code (VS Code)를 사용하여 간단한 예제를 사용하여 해결 방법을 이해해 보겠습니다.



Github 계정으로 이동하여 readme.md 파일. 이 저장소의 이름을 지정하겠습니다 병합-분쟁 데모 .

  새로운 저장소 git

다음 커밋 (메인 브랜치)에서 편집 readme.md 텍스트 내용을 파일하고 추가하십시오. 변경 사항을 저 지르십시오.



메모: 저장소를 작성한 후 readme.md를 편집 할 필요는 없습니다. 이 단계의 목적 (여기)은 동일한 파일을 수정하는 다른 분기를 병합 할 때 나중에 충돌이 발생할 수 있도록 메인 브랜치의 변경을 시뮬레이션하는 것입니다.

가십시오 코드> 미친 L과 Repo를 복사하십시오 HTTPS 링크.

  Github Repo 링크를 복사하십시오

다음으로 로컬 컴퓨터에서 디렉토리를 만듭니다. 이름을 지정하십시오 twc_git_merge_demo . 대 코드 에서이 디렉토리를 열고 터미널을 시작하십시오 ( 3 개의 점> 터미널> 새로운 터미널 ), 및 Github Repo를 사용하여 다음 :

git clone https://github.com/sangeetaghera2710/merge-conflict-demo.git

다음으로 복제 된 리포로 이동하여 이름이 지정된 새 지점을 만듭니다. 기능 1 :

0C368C4E795806EFB48D884775162B95E99B94

  CLONE Repo vs Code

readme.md 파일에 텍스트를 추가 한 다음 단계를 밟고 변경 사항을 커밋하십시오.

7550DA636563CE554CC33721507D3E7C15BEC

이 예에서는 981F371F73E9BA616BE26B26DE4AB6D222E9521AF를 git add README.md 대신 사용했습니다.
981F371F73BA6BA616BE26B26DE4AB6D22E9521AF는 모든 변경된 파일을 단계적으로 단계적으로 변경하는 반면 DF82F619B34EE581735E611B6F53A4647A034E8 단계는 지정된 파일 만 무대에 올리십시오. 또한 git status은 작업 디렉토리 및 스테이징 영역의 현재 상태를 표시하는 데 사용됩니다.

다음으로 메인 브랜치로 다시 전환하고 이름이 지정된 다른 지점을 만듭니다. 기능 2 :

git checkout main
git checkout -b feature2

이제 동일하게 편집하십시오 readme.md 파일이지만 다른 텍스트 라인을 추가하십시오. 다시, 무대와 커밋 :

Windows 10 키보드가 작동하지 않음
15120e7e1cbfd6d22b3d0f7605ed54791293a5

  Feature2 Branch의 변경 사항이 추가되었습니다

이제 메인 브랜치로 다시 전환하여 기능 1을 병합하십시오.

00a447e33c787dcaf4ec5adda4a32c9a7f7

이 병합은 충돌없이 완료되어야합니다.

링크드 인 프리미엄을 끄는 방법

  git은 성공을 병합합니다

다음으로 전환하십시오 기능 2 업데이트 된 메인을 분기하고 병합하십시오.

86319972F8517A70CF3B467C7FE8AEB0CFF1A66

이번에는 두 분기가 동일한 섹션을 수정했기 때문에 readme.md 파일에서 병합 충돌이 발생합니다.

  갈등을 병합하십시오

읽다 : git에서 두 가지를 병합하는 방법

해결 해결 충돌

병합 충돌이 발생하면 GIT는 영향을받는 파일에 특수 마커 (<<<<<<, ======, >>>>>>)를 추가하여 각 지점의 충돌 섹션을 강조합니다. 이 마커는 충돌을 식별하는 데 도움이되므로 병합을 마무리하기 전에 변경 사항 또는 변경 사항을 결합하는 방법을 수동으로 결정할 수 있습니다.

CODE에서 충돌 파일 (readme.md)을 엽니 다. 위의 이미지에 표시된대로 충돌 마커가 표시됩니다.

VS 코드는 충돌을 수동으로 해결하기위한 네 가지 옵션을 제공합니다.

  • 현재 변경 수락 : feaction2에서 변경 사항을 유지하십시오.
  • 들어오는 변화를 받아들이십시오 : 메인에서 변경 사항을 유지하십시오 (기능 1 포함).
  • 두 변경 사항을 모두 수락하십시오. 두 세트의 세트를 유지하십시오.
  • 변경 사항 비교 : 결정하기 전에 차이점을보십시오.

  갈등 해결 옵션

딸깍 하는 소리 변경 사항을 비교하십시오 . 병합 충돌 중에 대 코드의 변경 사항 비교를 클릭하면 나란히 열립니다. 차이보기 충돌하는 파일의. 이보기는 현재 지점의 변경 사항 (왼쪽)과 오른쪽에 합병중인 지점에서 들어오는 변경 사항을 보여줍니다. 이를 통해 충돌 해결 방법을 선택하기 전에 두 버전을 라인별로 비교할 수 있습니다.

  지점 버전 비교

그런 다음 파일을 수동으로 편집하거나 수락 전류와 같은 옵션 중 하나를 사용할 수 있습니다.

충돌을 해결 한 후 파일을 저장하십시오. 그런 다음 무대를 무대에 저지르십시오.

레지스트리 편집기 프로그램
git add README.md
git commit -m "Resolved merge conflict in README.md"

그게 다야! Visual Studio Code를 사용하여 GIT 병합 충돌을 성공적으로 해결했습니다.

나는 당신이 이것이 유용하다는 것을 알기를 바랍니다.

읽다: Windows에서 git을 다운로드하고 설치하는 방법 .

git에서 커밋을 어떻게 되돌리나요?

GIT 저장소에서 커밋을 되돌리려면 git revert 명령을 사용할 수 있습니다. 이 명령은 프로젝트 기록에서 커밋을 제거하는 대신 커밋이 도입 한 변경 사항을 반전하는 방법을 식별하고 결과 역 내용으로 새로운 '리버스 커밋'을 추가합니다. 이를 통해 안정적인 협업과 프로젝트의 무결성에 중요한 역사를 보존하는 데 도움이됩니다.

다음 읽기 : Windows 컴퓨터에서 경로에서 git을 찾을 수 없습니다. .

인기 게시물