programing

여러 단계 항목에 대한 치명적인 오류 발생

mailnote 2023. 7. 10. 22:36
반응형

여러 단계 항목에 대한 치명적인 오류 발생

OS X에서 유니티 게임 엔진과 함께 Git 버전 2.2.0을 사용하고, 내 코드를 커밋하고 싶었습니다.저는 모든 것을 추가했고 오류 메시지를 받지 못했습니다.그런 다음 commit -m 및 다음 오류 메시지가 표시됩니다.

fatal: multiple stage entries for merged file 'Assets/Prefabs/Resources'

내가 눌렀다는 것을 눈치채지 못했고, 그것은 사실 오류 메시지를 주지 않았습니다.Everything up-to-date그래서 저는 비트 버킷(리포가 열리는 곳)을 확인했는데 제 약속이 표시되지 않았습니다.그래서 제 로컬 로그를 확인했는데 그것도 제 커밋이 표시되지 않습니다.

구글에서 답을 찾아봤어요아무것도.이 오류는 무엇입니까? 그리고 어떻게 고칠 수 있습니까?

Git의 최신 버전(2.3+, 2015년 2분기)에서 작동하는 것으로 보이는 첫 번째 해결 방법은 그랜트의 최신 답변언급되어 있습니다.

  1. 인덱스 삭제

    $ rm .git/index
    
  2. 모두 추가

    $ git add -A
    
  3. 저지르다

    $ git commit -a
    

) 답년 (2014년 말)
일반적인 해결 방법은 다음과 같습니다.

  • 원격 repo를 새 로컬 repo로 다시 복제
  • 첫 번째 보고서의 변경 내용을 두 번째 보고서에 추가합니다.

    $ cd /patH/to/second/cloned/repo
    $ git --work-tree=/path/to/first/repo add .
    

이 오류 메시지는 에서 볼 수 있으며, 이 패치(":read-cache.c 병합되지 않은 항목이 제거되었는지 확인하십시오")에서 설명하고 Git 2.2 커밋에 소개되어 있습니다.
이는 매우 최근의 일이기 때문에 Git를 2.1로 다운그레이드하면 해당 패치의 영향을 받지 않을 수 있습니다.

다니엘 토베 OP논평에서 다음과 같이 덧붙입니다.

그 문제는 제 맥북에서 일어났고, 그것은 저에게 실패하기로 결정했고, 또 다른 컴퓨터 사고는 제가 제 프로젝트에서 한참 뒤쳐지게 했습니다.

변경 내용을 추가하고 커밋한 다음 방금 커밋한 파일을 삭제했기 때문에 이 문제가 발생한 것 같습니다.이것이 귀하의 경우와 유사하게 들릴 경우, 아래에 따라 재복제를 저장하고 변경사항을 수동으로 추가하는 것이 좋습니다.

@slider가 제안한 것과 유사한 .git/index 파일을 저장소에서 삭제하여 이 문제를 해결할 수 있었습니다(그가 경로를 잘못 입력한 것 같습니다).

rm .git/index

그런 다음 로컬 변경 사항을 추가하고 다시 커밋해야 했습니다.

git add -A
git commit -m "..."

그리고 나서 원격으로 밀 수 있었습니다.

Git 지수는 무엇이며 어떻게 관련이 있습니까?

Git 지수는 어떻게 됩니까?

git "index"는 git 저장소에 커밋할 파일을 저장하는 위치입니다.

Git 저장소에 파일을 "커밋"(체크인)하기 전에 먼저 Git "인덱스"에 파일을 배치해야 합니다.

이 파일을 삭제하면 git이 repo를 다시 인덱싱하고 새 파일을 만들면 됩니다.이 문제는 제가 삭제한 파일 없이 로컬 저장소가 재색인되기 때문에 해결됩니다.

편집: Mac과 관련된 것으로 보이는데(댓글 기준), 도움이 된다면 OSX 10.10에 있고, brew를 통해 설치된 git version 2.3.4에 있습니다.

프로젝트용

rm .git/index
git reset

인덱스를 삭제한 후 Git 재설정하여 다시 만들어야 합니다.

하위 모듈의 경우:

주 프로젝트 폴더로 이동

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).

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

반응형