병합을 완료하지 않았습니다 (MERGE_HEAD가 존재 함)


1036

나는 'f'라는 지점을 만들고 마스터하기 위해 체크 아웃을 수행했습니다. git pull명령을 시도했을 때 다음 메시지가 나타납니다.

You have not concluded your merge (MERGE_HEAD exists).
Please, commit your changes before you can merge.

을 시도 git status하면 다음과 같은 결과가 나타납니다.

On branch master
# Your branch and 'origin/master' have diverged,
# and have 1 and 13 different commit(s) each, respectively.
#
# Changes to be committed:
#
#   modified:   app/assets/images/backward.png
#   modified:   app/assets/images/forward.png
#   new file:   app/assets/images/index_background.jpg
#   new file:   app/assets/images/loading.gif
#   modified:   app/assets/images/pause.png
#   modified:   app/assets/images/play.png
#   new file:   app/assets/javascripts/jquery-ui-bootstrap.js
#   new file:   app/assets/stylesheets/jquery-ui-bootstrap.css
#   modified:   app/controllers/friends_controller.rb
#   modified:   app/controllers/plays_controller.rb
#   modified:   app/mailers/invite_friends_mailer.rb
#   modified:   app/mailers/send_plays_mailer.rb
#   modified:   app/mailers/shot_chart_mailer.rb
#   modified:   app/views/friends/show_plays.html.erb
#   modified:   app/views/layouts/application.html.erb
#   modified:   app/views/plays/_inbox_table.html.erb
#   modified:   app/views/plays/show.html.erb
#   modified:   app/views/welcome/contact_form.html.erb
#   modified:   app/views/welcome/index.html.erb
#   modified:   log/development.log
#   modified:   log/restclient.log
#   new file:   tmp/cache/assets/C1A/C00/sprockets%2Fb7901e0813446f810e560158a1a97066
#   modified:   tmp/cache/assets/C64/930/sprockets%2F65aa1510292214f4fd1342280d521e4c
#   new file:   tmp/cache/assets/C73/C40/sprockets%2F96912377b93498914dd04bc69fa98585
#   new file:   tmp/cache/assets/CA9/090/sprockets%2Fa71992733a432421e67e03ff1bd441d8
#   new file:   tmp/cache/assets/CCD/7E0/sprockets%2F47125c2ebd0e8b29b6511b7b961152a1
#   modified:   tmp/cache/assets/CD5/DD0/sprockets%2F59d317902de6e0f68689899259caff26
#   modified:   tmp/cache/assets/CE3/080/sprockets%2F5c3b516e854760f14eda2395c4ff2581
#   new file:   tmp/cache/assets/CED/B20/sprockets%2F423772fde44ab6f6f861639ee71444c4
#   new file:   tmp/cache/assets/D0C/E10/sprockets%2F8d1f4b30c6be13017565fe1b697156ce
#   new file:   tmp/cache/assets/D12/290/sprockets%2F93ae21f3cdd5e24444ae4651913fd875
#   new file:   tmp/cache/assets/D13/FC0/sprockets%2F57aad34b9d3c9e225205237dac9b1999
#   new file:   tmp/cache/assets/D1D/DE0/sprockets%2F5840ff4283f6545f472be8e10ce67bb8
#   new file:   tmp/cache/assets/D23/BD0/sprockets%2F439d5dedcc8c54560881edb9f0456819
#   new file:   tmp/cache/assets/D24/570/sprockets%2Fb449db428fc674796e18b7a419924afe
#   new file:   tmp/cache/assets/D28/480/sprockets%2F9aeec798a04544e478806ffe57e66a51
#   new file:   tmp/cache/assets/D3A/ED0/sprockets%2Fcd959cbf710b366c145747eb3c062bb4
#   new file:   tmp/cache/assets/D3C/060/sprockets%2F363ac7c9208d3bb5d7047f11c159d7ce
#   new file:   tmp/cache/assets/D48/D00/sprockets%2Fe23c97b8996e7b5567a3080c285aaccb
#   new file:   tmp/cache/assets/D6A/900/sprockets%2Fa5cece9476b21aa4d5f46911ca96c450
#   new file:   tmp/cache/assets/D6C/510/sprockets%2Fb086a020de3c258cb1c67dfc9c67d546
#   new file:   tmp/cache/assets/D70/F30/sprockets%2Facf9a6348722adf1ee7abbb695603078
#   new file:   tmp/cache/assets/DA3/4A0/sprockets%2F69c26d0a9ca8ce383e20897cefe05aa4
#   new file:   tmp/cache/assets/DA7/2F0/sprockets%2F61da396fb86c5ecd844a2d83ac759b4b
#   new file:   tmp/cache/assets/DB9/C80/sprockets%2F876fbfb9685b2b8ea476fa3c67ae498b
#   new file:   tmp/cache/assets/DBD/7A0/sprockets%2F3640ea84a1dfaf6f91a01d1d6fbe223d
#   new file:   tmp/cache/assets/DC1/8D0/sprockets%2Fe5ee1f1cfba2144ec00b1dcd6773e691
#   new file:   tmp/cache/assets/DCC/E60/sprockets%2Fd6a95f601456c93ff9a1bb70dea3dfc0
#   new file:   tmp/cache/assets/DF1/130/sprockets%2Fcda4825bb42c91e2d1f1ea7b2b958bda
#   new file:   tmp/cache/assets/E23/DE0/sprockets%2Fb1acc25c28cd1fabafbec99d169163d3
#   new file:   tmp/cache/assets/E23/FD0/sprockets%2Fea3dbcd1f341008ef8be67b1ccc5a9c5
#   modified:   tmp/cache/assets/E4E/AD0/sprockets%2Fb930f45cfe7c6a8d0efcada3013cc4bc
#   new file:   tmp/cache/assets/E63/7D0/sprockets%2F77de495a665c3ebcb47befecd07baae6
#   modified:   tmp/pids/server.pid
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#   Coachbase/
#   log/development.log.orig
#   log/restclient.log.orig

어떻게해야합니까?

답변:


1917

확인. 문제는 이전 풀이 자동으로 병합되지 않고 충돌 상태가 된 것입니다. 그리고 다음 풀 이전에 갈등이 제대로 해결되지 않았습니다.

  1. 병합을 취소하고 다시 당기십시오.

    병합을 취소하려면

    git merge --abort [git 버전 1.7.4부터]

    git reset --merge [선물 git 버전]

  2. 충돌을 해결하십시오.

  3. 병합을 추가하고 커밋하는 것을 잊지 마십시오.

  4. git pull 이제 잘 작동합니다.


2
자동 병합 app / views / layouts / application.html.erb 자동 병합 log / development.log 충돌 (콘텐츠) : log / development.log에서 병합 병합 자동 병합 log / restclient.log 충돌 (내용) : log / restclient.log의 병합 충돌 자동 병합에 실패했습니다. 충돌을 수정 한 다음 결과를 커밋하십시오. 지정된 로컬 파일을 수정 한 다음 'git pull'을 시도했습니다. 병합되지 않은 파일이 있기 때문에 Pull을 사용할 수 없습니다. 작업 트리에서 수정 한 다음 'git add / rm <file>'을 사용하여 해상도를 표시하거나 'git commit -a'를 사용하십시오.
Ankit Suri

1
@AnkitSuri, 갈등을 고친 후에, 당신은 갈등을 해결하고 커밋 했습니까?
Karthik Bose

1
나는 그것을 시도하고 그것은 다시 흐름에 도움이됩니다. 되 돌린 후 "git mergetool"을 시도했습니다. 병합 도구와 직접 연결됩니다.
CoDe

4
작동하지 않습니다 :[env]$ git merge --abort fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you can merge.
user1429980

1
@KarthikBose, 실제로 작동하게되었습니다. SSH를 통해 작업했기 때문에 새 세션을 시작하고을 수행해야했습니다 git status.
user1429980

97

모든 병합 충돌이 이미 해결되었다고 확신하는 경우 :

rm -rf .git/MERGE*

오류가 사라집니다.


2
MERGE_HEAD를 제거하면 결과 커밋에 부모가 하나만 없으므로 병합 브랜치의 기록이 없습니까?
Jason Goemaat

2
이 내가 원하는 것
raditya gumay

1
내 경우에는 @JasonGoemaat 나는 아직 받아 들여지지 않은 여러 PR에 일시적으로 병합하고 있습니다. 기능 브랜치에서 병합을 커밋 할 계획이 아니라 개발 중에 병합 만하면됩니다.
Andy

나는 이미 내 갈등을 해결했지만 여전히이 오류가 발생했습니다. 그래서 명령이 나를 위해 일했습니다.
Sibgha

이것은 불쾌한 병합 충돌 루프에서 나를 구했습니다.
썰매

68

You have not concluded your merge (MERGE_HEAD exists)많은 사람들이 해당 메시지를 검색 한 후이 페이지에 도착했기 때문에 메시지 가 발생할 수있는 시나리오가 많이 있다고 언급 할 가치가 있다고 생각합니다 . 해결 방법은 당신이 어떻게 도착했는지에 달려 있습니다.

git status 항상 유용한 출발점입니다.

이미 만족스러운 내용으로 내용을 병합했지만 여전히이 메시지가 표시되는 경우 간단하게 수행 할 수 있습니다.

git add file
git commit

그러나 다시 한 번, 상황에 따라 다릅니다. 무언가를 시도하기 전에 기본 사항을 이해하는 것이 좋습니다 (Terence가 게시 한 동일한 링크) : Git-Basic Merge Conflicts


더 간단한 유형의 문제가있는 사람들을 위해 이것을 요청 해 주셔서 감사합니다. "Git status"는 저와 같은 초보자가 필요로하는 것으로, 충돌 병합을 수정하는 마지막 단계는 간단한 명령 "git commit"이었습니다.
Dana

17

이것이 올바른 방법이라고 생각합니다.

git merge --abort

git fetch --all

그런 다음 두 가지 옵션이 있습니다.

git reset --hard origin/master

또는 다른 지사에있는 경우 :

git reset --hard origin/<branch_name>

2
git merge 만 --abort 자체적으로 작동했으며 & git pull
luky

8

충돌을 해결하고 커밋했지만 여전히이 오류 메시지가 표시됩니다. git push

모든 충돌이 해결되었지만 여전히 병합 중입니다.
( "git commit"을 사용하여 병합을 완료하십시오)

오류를 해결하기 위해 다음 단계를 수행했습니다.

rm -rf .git/MERGE*
git pull origin branch_name 
git push origin branch_name

push끝에 무엇을 달성합니까?
Mark Storer

6

시험

git reset --hard origin/trunk

'트렁크'는 내가 가지려고하는 지점입니다.

이것이 어떻게 또는 왜 작동하는지 모르겠습니다. 풀을 요청하여 병합을 수행 해야하는 커밋과 관련이 있습니다.


5

임시 파일을 변경하십시오. 공간을 제거하거나 공간을 추가 한 다음 해당 파일을 커밋하고 푸시하십시오.

git add 'temporary_change_file'

git commit -m "git 문제 해결"

자식 푸시 원점 개발

그런 다음 git pull을 시도하십시오.

자식 풀 원점 개발

이것이 당신을 도울 수 있기를 바랍니다.


4

인용구

다른 지점에서 지점으로 가져 오려고하는 경우. 이 오류가 표시되면

먼저 git commit을 시도한 다음 다른 브랜치를 당신의 것으로 가져와야합니다.

  1. "git add."
  2. 자식 커밋
  3. 그런 다음 필요한 분기에서 git pull을 수행하십시오.

3

제 경우에는 많은 Merge Conflicts를 생성하는 체리 픽이 있었으므로 체리 픽을 완료하지 않기로 결정했습니다. 모든 변경 사항을 취소했습니다. 그렇게하면 다음과 같은 오류가 발생한 상태로 전환됩니다.

병합을 체결하지 않았습니다 (MERGE_HEAD가 존재 함)

문제를 해결하기 위해 문제를 해결 한 다음 git 명령을 수행했습니다.

git cherry-pick --abort

2

가장 좋은 방법은 병합을 취소하고 다시 병합하는 것입니다. 종종 당신은 엉망인 것들의 순서를 얻습니다. 갈등을 해결하고 혼란에 빠지십시오.

취소하고 다시 병합하십시오.

사용자 환경에 적합한 diff 도구가 설정되어 있는지 확인하십시오. 나는 Mac에 있고 DIFFMERGE를 사용합니다. DIFFMERGE는 모든 환경에서 사용할 수 있다고 생각합니다. 지침은 다음과 같습니다. MAC에 DIFF Merge 설치

내 갈등을 해결하는 데 도움이됩니다 : Git Basic-Merge-Conflicts


1

먼저 git pull저장소를 병합하여 change.then을 저장하십시오 git commit -m "your commit".


0

커밋 병합 변경으로 내 문제가 해결되었습니다.

git commit -m "commit message"

-12

이것은 나를 위해 일했다 :

git log
`git reset --hard <089810b5be5e907ad9e3b01f>`
git pull
git status

3
우선, 이것은 모든 작업 디렉토리 변경 사항을 삭제합니다. 또한 하드 코딩 된 버전은 도움이되지 않습니다. 아마 HEAD ^와 같은 것이 좋습니다.
Entomo

@ Plus1 이것은 정확히 필요한 것입니다. 잘못된 로컬 커밋을 제거하고 변경된 소스 코드와 관련하여 변경 사항을 적용하십시오. 답변 주셔서 감사합니다!
amuliar

내 경우에는 문제가 발생했습니다
Shafiq
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.