Git 병합되지 않은 파일

Abdul Jabbar 2023년6월20일
Git 병합되지 않은 파일

복잡한 프로젝트의 팀 환경에서 Git으로 작업하는 동안 몇 가지 일반적인 문제가 언제든지 발생할 가능성이 많습니다. 그 중 병합과 충돌은 이러한 문제의 공통 부분입니다.

다른 버전 제어 시스템에서 충돌을 해결하는 것은 많은 비용과 시간이 소요되기 때문에 매우 바쁘다. 반면 Git에서는 이러한 상황을 처리하는 것이 매우 쉽습니다.

대부분 Git은 새로운 변경 사항을 병합하는 방법을 자동으로 해결하고 개발자가 이러한 작업을 즉시 관리하기 위해 매우 쉽게 작업할 수 있도록 합니다.

Git 병합 오류

이 오류는 일반적으로 해결되지 않은 충돌이 있는 파일이 작업 디렉토리에 있을 때 발생합니다. 충돌은 개발자가 팀 구조 내에서 대규모 프로젝트를 수행할 때 발생하며 일부 개발자는 동일한 파일을 작업하고 충돌하는 방식으로 변경됩니다.

두 사람이 같은 파일을 운영하고 있다면 대부분의 경우 Git이 스스로 알아낼 수 있습니다. 하지만 때로는 두 명의 다른 개발자가 동일한 파일에 동일한 변경 사항을 적용하기 때문에 Git이 이를 수행할 수 없는 경우도 있습니다.

그리고 이 상황에서 Git은 무엇을 해야할지 모릅니다. 여기에서 메모장이나 Visual Studio Code 도구에서 파일을 열어 코드 파일에서 충돌하는 줄을 수동으로 병합하여 상황을 직접 관리해야 합니다.

git 상태

먼저 git status 명령을 사용하여 병합 충돌이 발생한 위치를 알 수 있습니다. 여기에서 Git은 다음과 같이 병합되지 않은 경로 범주를 특별히 언급하여 상충되는 방식으로 편집된 위치를 찾아냅니다.

$ git status
# On branch contact-form
# You have unmerged paths.
#   (fix conflicts and run "git commit")
#
# Unmerged paths:
#   (use "git add <file>..." to mark resolution)
#
#       both modified:   contact.html
#

갈등 해결

이제 충돌이 감지되면 이 충돌하는 원하는 파일을 적절한 형식으로 변경합니다. 이는 두 가지 다른 기술로 수행할 수 있습니다.

  1. 이 방법에서는 메모장이나 Visual Studio Code 도구와 같은 편집기에서 충돌 파일을 열고 충돌 마커를 찾은 다음 필요에 따라 일부 수정합니다. 이렇게 수정하면 파일이 원하는 대로 표시됩니다.
  2. 다른 방법에서는 다음과 같이 ours 또는 theirs로 알려진 편집된 버전의 도움으로 원하는 작업을 수행하도록 Git에 요청할 수 있습니다.
git checkout --ours path/to/conflict-file.css

충돌을 성공적으로 해결한 후 최종 결과를 위해 두 단계를 더 수행해야 합니다.

  1. git add <파일 경로>를 수행하여 각 충돌 파일을 해결된 것으로 표시합니다.
  2. git commit 명령으로 프로세스를 마무리하여 이 명령으로 다른 변경 사항을 커밋하려는 것처럼 해상도를 커밋합니다.
작가: Abdul Jabbar
Abdul Jabbar avatar Abdul Jabbar avatar

Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.

LinkedIn

관련 문장 - Git Merge