git 상태“Unmerged paths :”를 해결하는 방법은 무엇입니까?


84

분기 doganimal. 커밋하면 다음과 같은 결과가 나타납니다.

Unmerged paths:
(use "git reset HEAD <file>..." to unstage)
(use "git add <file>..." to mark resolution
both deleted:       ../public/images/originals/dog.ai
added by them:      ../public/images/original_files/dog.ai

각 분기마다 다른 디렉토리 이름과 파일 이름이 있습니다. animal지점은 내가 원하는 변경 사항을 가지고있다.

머리를 재설정하러 가면 작동하지 않습니다. 그리고 다른 git 작업 (제거, 체크 아웃 등)을 수행하려고하면 path not found오류가 발생합니다.

이 문제를 해결하려면 어떤 명령을 실행해야합니까?

답변:


82

해야 할 일은 다음과 같습니다.

# if the file in the right place isn't already committed:
git add <path to desired file>

# remove the "both deleted" file from the index:
git rm --cached ../public/images/originals/dog.ai

# commit the merge:
git commit

28
자세한 설명은 유용하게 사용할 것
시스코 오초아에게

50

파일이 이미 체크인되어 있고 파일이 병합 된 경우 (하지만 커밋되지 않았으므로 병합 충돌이 파일에 삽입 됨)이 상황을 처리하는 또 다른 방법은 다음을 실행하는 것입니다.

git reset

이것은 HEAD로 전환되고 git에게 병합 충돌을 잊어 버리고 작업 디렉토리를 그대로 두도록 지시합니다. 그런 다음 문제의 파일을 편집 할 수 있습니다 ( "업스트림 업데이트"알림 검색). 갈등을 처리 한 후에는 실행할 수 있습니다.

git add -p

색인에 추가 할 변경 사항을 대화식으로 선택할 수 있습니다. 색인이 좋아 보이면 ( git diff --cached) 커밋 한 다음

git reset --hard

작업 디렉토리에서 원치 않는 모든 변경 사항을 제거합니다.


무엇입니까 "Updated upstream" notices?
Saikat

2
@takias : 다음과 같은 각 파일의 마커 : <<<<<<< [branch] \n [content] \n ==== \n [content] \n [branch] >>>>>>>. 이 글을 작성한 이후로 형식이 약간 우연히있을 수 있다고 생각하지만 , 예를 들어 wincent.com/wiki/Git_merge_conflict_cheatsheet 를 참조하십시오 .
naught101
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.