여러 단계 항목에 대한 자식에서 치명적인 오류가 발생합니다.
OS X에서 Unity 게임 엔진과 함께 Git 버전 2.2.0을 사용하고 내 코드를 커밋하려고했습니다. 모든 것을 추가했지만 오류 메시지가 표시되지 않았습니다. 그런 다음 -m 커밋 하고이 오류 메시지가 나타납니다.
fatal: multiple stage entries for merged file 'Assets/Prefabs/Resources'
그것을 보지 못했지만 오류 메시지가 표시되지 않았습니다. 실제로 Everything up-to-date
비트 버킷 (리포지토리가있는 곳)을 확인했는데 커밋을 표시하지 않았습니다. 로컬 로그를 확인했는데 커밋도 표시되지 않습니다.
나는 답을 찾기 위해 구글을 보았지만 아무것도 없다. 이 오류는 무엇입니까? 어떻게 고칠 수 있습니까?
최신 버전의 Git (2.3+, 2015 년 2 분기)에서 작동하는 첫 번째 해결 방법은 grant 의 최신 답변에 언급되어 있습니다 .
색인 삭제
$ rm .git/index
모두 추가
$ git add -A
범하다
$ git commit -a
원래 답변 (2014 년 말)
일반적인 해결 방법은 다음과 같습니다.
- 원격 저장소를 새로운 로컬 저장소로 다시 복제하십시오.
첫 번째 저장소에서 두 번째 저장소로 변경 사항을 추가하십시오.
$ cd /patH/to/second/cloned/repo $ git --work-tree=/path/to/first/repo add .
이 오류 메시지는 read-cache.c
이 패치 ( " read-cache.c
: 병합되지 않은 항목이 제거되었는지 확인 ")에서 설명하고 Git 2.2 커밋에 소개되어 있습니다.
이것이 최신이므로 Git을 2.1로 다운 그레이드 하면 해당 패치의 영향을받지 않을 수 있습니다.
OP 다니엘 Toebe는 추가 의견에 :
이 문제는 내 맥북에서 발생하여 실패로 결정했으며 다른 컴퓨터에서 프로젝트가 잘못 진행되었습니다.
변경 사항을 추가하고 커밋 한 다음 방금 커밋 한 파일을 삭제했기 때문에이 문제가 발생했다고 생각합니다. 이것이 귀하의 경우와 비슷하게 들리면 아래 내용에 따라 다시 복제를 저장하고 변경 사항을 수동으로 추가하는 것이 좋습니다.
@slider가 제안한 것과 비슷한 내 저장소에서 .git / index 파일을 삭제 하여이 문제를 해결할 수있었습니다 (경로를 잘못 입력했다고 생각합니다).
rm .git/index
그런 다음 로컬 변경 사항을 다시 추가하고 커밋해야했습니다.
git add -A
git commit -m "..."
그런 다음 원격으로 푸시 할 수있었습니다.
자식 인덱스는 무엇이며 어떻게 관련이 있습니까?
git“index”는 git 저장소에 커밋하려는 파일을 저장하는 위치입니다.
git 저장소에 파일을“커밋”(체크인)하기 전에 먼저 파일을 git“index”에 배치해야합니다.
나는이 파일을 삭제하면 git이 repo를 다시 색인화하고 새로운 파일을 생성 할 것이라고 믿습니다. 로컬 저장소가 삭제 된 파일없이 다시 색인되어 모든 소란을 유발했기 때문에이 문제를 해결합니다.
편집 : 이것은 Mac과 관련이있는 것 같습니다 (댓글을 기준으로) 그래서 그것이 도움이된다면 OSX 10.10 및 brew 버전 2.3.4를 brew를 통해 설치했습니다.
프로젝트
rm .git/index
git reset
인덱스를 삭제 한 후 git reset으로 인덱스를 다시 만들어야합니다.
하위 모듈의 경우 :
메인 프로젝트 폴더로 이동
rm .git/modules/your_project_structure/index
git reset --hard HEAD
프로젝트에서 Git 인덱스 파일을 제거 할 수 있습니다. 프로젝트의 루트에서 다음 명령을 실행하십시오.
rm .git/index
그 자식 후 작동합니다.
나는 다른 해결책을 시도하고 그것은 나를 위해 작동합니다. 아래는 내 옵션입니다
#cd .git
#rm index
#cd ..
#git add .
이것이 서브 모듈에서 발생하는 경우
색인 파일은 상위 .git
디렉토리 내에 있습니다 .
.git/modules/your_project_structure/index
하위 모듈에는 .git
(적어도 작업중 인 프로젝트 에는) 이름이 지정된 디렉토리가 없으며 해당 프로젝트 .git
의 git 디렉토리를 찾을 위치를 알려주 는 파일 만 있습니다.
힘내 상태는 내가하지 않은 변경 사항을 보여줍니다
인덱스 파일을 제거하고을 수행 한 후 git reset
, 설명 할 수없는 많은 변경에 직면했으며 하드 리셋이 도움이되지 않았습니다.
경고 모든 변경 사항이 손실되므로 커밋하고 계속하기 전에 푸시하십시오.
색인이 손상된 것 같으므로 다음 명령으로 제거했습니다.
git rm -rf --cached .
git reset --hard HEAD
방금 Github Desktop Client (OSX) 에서이 오류가 발생했습니다. 내가 한 일은 앱을 종료하고 다시 열면 작동하기 시작했습니다.
참고 URL : https://stackoverflow.com/questions/27330446/getting-a-fatal-error-in-git-for-multiple-stage-entries
'Programing' 카테고리의 다른 글
어디에 vs HAVING (0) | 2020.04.11 |
---|---|
이미지 아래의 공백 제거 (0) | 2020.04.11 |
matplotlib 플롯에서 xticks를 제거 하시겠습니까? (0) | 2020.04.11 |
헤더를 사용하여 C #에서 CSV 파일 구문 분석 (0) | 2020.04.11 |
쿼리 문자열없이 URL을 얻는 방법이 있습니까? (0) | 2020.04.11 |