[git][Error] needs merge

최승언·2022년 10월 29일
0

git

목록 보기
10/27
post-thumbnail

needs merge 에러는 두 개 이상의 브랜치에서 같은 파일을 수정한 경우에 발생할 수 있습니다. 이러한 경우, git은 merge를 진행해야 하는데, 아직 merge가 완료되지 않았기 때문에 해당 파일이 needs merge 상태로 남아 있습니다.

이러한 상황에서는 다음과 같은 방법으로 문제를 해결할 수 있습니다.

1. 충돌이 발생한 파일 확인하기

git status 명령어를 실행하여 충돌이 발생한 파일을 확인합니다. 아래와 같은 결과가 출력됩니다.

$ git status
On branch main
Your branch and 'origin/main' have diverged,
and have 2 and 1 different commits each, respectively.
  (use "git pull" to merge the remote branch into yours)

You have unmerged paths.
  (fix conflicts and run "git commit")

위의 결과에서 You have unmerged paths라는 문구가 보이면, 해당 파일이 충돌이 발생한 파일입니다.

2. 충돌 해결하기

git mergetool 명령어를 사용하여 충돌을 해결합니다. 이 명령어를 실행하면, mergetool 프로그램이 실행되면서 충돌이 발생한 파일을 자동으로 엽니다. mergetool 프로그램은 시스템에 설치된 GUI 기반의 diff/merge 도구를 사용합니다. 대표적인 mergetool 프로그램으로는 meld, kdiff3, p4merge 등이 있습니다.

3. merge commit 생성하기

충돌 해결이 완료되면, git add 명령어를 사용하여 수정한 파일을 스테이징 영역에 추가합니다. 그리고나서 git commit 명령어를 사용하여 merge 커밋을 생성합니다.

$ git add <file>
$ git commit -m "merge branch"

위와 같은 과정을 거치면 needs merge 에러를 해결할 수 있습니다.

profile
작업하다가 막힌부분을 기록하는 곳.

0개의 댓글