병합 충돌이 발생했습니다. 병합을 중단하려면 어떻게 해야 하나요?

'깃 풀'을 사용했는데 병합 충돌이 발생했습니다:

unmerged:   _widget.html.erb

You are in the middle of a conflicted merge.

다른 버전의 파일은 양호하고 내 파일은 나쁘다는 것을 알고 있으므로 모든 변경 사항을 포기해야 합니다. 어떻게 해야 하나요?

질문에 대한 의견 (3)

이 실패했으므로HEAD(HEAD^`가 아님)가 브랜치에 대한 마지막 유효한 커밋이다:

git reset --hard HEAD

원하는 다른 부분은 다른 사람의 변경 사항이 여러분의 변경 사항보다 우선하도록 하는 것입니다.

이전 버전의 git에서는 Merge 전략을 사용할 수 있었다:

git pull --strategy=theirs remote_branch

그러나 Junio Hamano(Git 유지 관리자)의 [이 메시지]에 설명된 대로 이 기능은 이후 제거되었습니다. 링크]1에서 언급했듯이, 대신 이렇게 하면 됩니다:

git fetch origin
git reset --hard origin
해설 (11)

깃 (git) 버전은 1.6.1 &gt 경우, 깃 (git) = '-' 재설정하지 병합해야 사용할 수 있습니다.

이밖에 @Michael 존슨 언급, 깃 (git) 버전이 경우 &gt 중단 '-' 병합해야 깃 (git) = 1.7.4 사용할 수도 있습니다.

언제나 그렇듯이, smartupdate 병합해야 시작하기 전에 커밋되지 않은 변경 사항이 없습니다.

1 의 [git 병합해야 맨페이지]

깃 (git) '에 해당하는 것이다' - '중단' 을 (를) - 병합해야 MERGE_HEAD 재설정하지 병합해야 깃 (git) '' 있는 것입니다.

'a' 는 MERGE_HEAD 목격하였는가 병합해야 진행 중입니다.

또한 커밋되지 않은 변경에 관한 시작할 때 병합해야:

39 변경 사항을 don& 경우, git, 그냥 '비밀창고' t want 커밋하려면 병합해야 시작하기 전에 그들을 깃 (git) '와' 비밀창고 팝 병합해야 전에 마친 뒤 병합 또는 중단하는 것이 특징이다.

해설 (10)
git merge --abort

&gt. 현재 분쟁 해결 프로세스 및 중단 reconstruct 봅니다 &gt. 이 사전 병합해야 상태. &gt. &gt. 이 경우 커밋되지 않은 보크트리 변경사항과 목격하였는가 병합해야 있었다 &gt. 깃 (git) 을 시작할 수 없을 경우에 따라 '중단' 가 병합해야 - &gt. reconstruct 이러한 변경. 따라서 항상 권장됨 &gt. 깃 (git) 또는 비밀창고 커밋합니다 변경 사항을 실행하기 전에 병합합니다. &gt. &gt. 깃 (git) '에 해당하는 것이다' - '중단' 을 (를) - 병합해야 재설정하지 병합해야 깃 (git) &gt. 'MERGE_HEAD' 있는 것입니다.

http://www.git-scm.com/docs/git-merge

해설 (2)

그렇게 간단한 있다.

git merge --abort

깃 (git) 이 유형의 문제 및 실행하십시오 경우 자체 솔루션 있습니다 git status 명령을.

git status

이를 통해 사람들이 있다.

해설 (1)

내 생각에 필요한 것은 '지트 리셋'입니다.

서브버전에서 되돌리기는 (커밋되지 않은) 변경 사항을 삭제하여 파일을 저장소의 현재 버전으로 되돌리지만, git 되돌리기는 커밋을 되돌리지 않는다는 점에서 svn 되돌리기와는 매우 다른 의미라는 점에 유의하세요.

'깃 리셋'은 'svn 리버트'와 같은 동작, 즉 원하지 않는 변경 내용을 삭제한다.

해설 (0)

이 특정 사용 사례에서는 병합을 중단하고 싶지 않고 특정 방식으로 충돌을 해결하고 싶을 뿐입니다.

특별히 리셋하고 다른 전략으로 병합을 수행할 필요도 없다. 충돌은 git에 의해 올바르게 강조 표시되었으며 다른 쪽의 변경 사항을 수락해야 하는 요구 사항은 이 파일 하나에 대해서만 적용됩니다.

충돌이 있는 병합되지 않은 파일의 경우 git은 인덱스에서 파일의 공통 기본, 로컬 및 원격 버전을 사용할 수 있도록 합니다. (3-way diff 도구에서 git mergetool로 사용하기 위해 여기에서 읽습니다.). 이를 보려면 git show를 사용하면 된다.

# common base:
git show :1:_widget.html.erb

# 'ours'
git show :2:_widget.html.erb

# 'theirs'
git show :3:_widget.html.erb

원격 버전을 그대로 사용하기 위해 충돌을 해결하는 가장 간단한 방법은 다음과 같다:

git show :3:_widget.html.erb >_widget.html.erb
git add _widget.html.erb

또는 git > = 1.6.1:

git checkout --theirs _widget.html.erb
해설 (3)

이후 '는 것을' 의견 '중단', git 병합해야 앨리어스를 병합해야 재설정하지 깃 (git) - - - 중단할 수 있다는 점에 불과한 만하다 '깃 (git)' '-' 병합해야 avamer git 재설정하지 병합해야 점을 감안할 때 'MERGE_HEAD' 있는 것입니다. 이 git 읽어들입니다 함장님이요 병합해야 도움이 될 수 있습니다.

git merge --abort is equivalent to git reset --merge when MERGE_HEAD is present.

실패한 후, 병합해야 없을 때 ',' 실패한 병합해야 MERGE_HEAD 깃 (git) 을 (를) '가 아닌' 반드시 함께 취소할 수 있습니다 '-' 깃 (git) - 병합해야 재설정하지 병합해야 중단할 수 있도록 하고 있을 뿐 아니라 기존 및 신규 똑같은 구문을 .

깃 (git) 을 찾기 위해 훨씬 더 강력한 '-' 내가 직접 재설정하지 병합해야 시나리오에서와 비슷한 설명됨 하나, 실패한 병합합니다 일반적으로.

해설 (2)

39 로 끝날 경우, 모든 것을 별로 없는 갈등과 doesn& 병합해야 커밋하려면 다음에표시됩니다 아래 언급한 모든 명령을 받고 있지만 여전히 오류: 병합해야 적용

git reset --hard HEAD
git pull --strategy=theirs remote_branch
git fetch origin
git reset --hard origin

제거하십시오.

&gt. .git\index.lock

파일 [잘라냅니다 붙여넣습니다 경우 일부 다른 위치에 복구] 다음 중 하나를 입력하시겠습니까 버전에 따라 아래의 명령을 적용할 수 있습니다.

git reset --hard HEAD
git reset --hard origin

도움이 되길 바란다!!!

해설 (0)

깃 (git) '와' 대한 ',' 내가 이렇게 책정안 페치할 당기십시오 관심용 깃 (git) 의 마스터 분기로의 업스트림입니다 분기로의 초래한 것은 원치 않는 충돌 사실을 깨달았다.

git reset --merge 

이 지역 내 변경 없이 재설정됨 뒤로를 못하였다.

해설 (0)

깃 (git 체크아웃합니다 ''] 1 1.6.1.3 이후 어느 쪽 체크아웃합니다 결합 수 있었습니다.

git checkout --theirs _widget.html.erb
해설 (0)

대체 작동 상태를 유지하는 복제본에 입니다.

git stash
git merge --abort
git stash pop

내가 던지는 것과 같은 것을 있기 때문에, 일반적으로 이에 효과적으로 병합합니다 Subversion 에 떨어진 지점에 다음과 같은 관계를 커밋합니다.

해설 (1)

내가 찾은 다음 협력했습니다 가져다줄래요 (리업으로 단일 파일로 사전 병합해야 스테이드):

git reset *currentBranchIntoWhichYouMerged* -- *fileToBeReset*
해설 (0)