programing

Git 병합 오류 " 병합되지 않은 파일이 있으므로 커밋할 수 없습니다."

magicmemo 2023. 7. 10. 22:14
반응형

Git 병합 오류 " 병합되지 않은 파일이 있으므로 커밋할 수 없습니다."

깜빡 잊고 안 했어요git pull편집하기 전에 코드를 수정했습니다. 새 코드를 커밋하고 푸시하려고 하면 "push is not possible" 오류가 발생했습니다.

그 시점에서 저는 했습니다.git pull충돌이 있는 일부 파일이 강조 표시되었습니다.저는 갈등을 제거했지만 여기서 무엇을 해야 할지 모르겠습니다.

하려고 했습니다.git commit다시 말하지만 "합병되지 않은 파일이 있으므로 커밋할 수 없습니다"라는 메시지가 나타납니다.

error: Committing is not possible because you have unmerged files.

충돌을 해결한 경우 파일을 단계에 추가해야 합니다.git add [filename]그런 다음 정상적으로 커밋합니다.

당신은 두 가지 일을 해야 합니다.먼저 변경사항을 추가합니다.

git add .
git stash  

git checkout <some branch>

그것은 나에게 해결된 것처럼 당신의 문제를 해결할 것입니다.

사용할 수 있습니다.git stash(업스트림 repo의 변경 사항을 병합한 후) 수행할 커밋을 수행하기 전에 현재 리포지토리를 저장합니다.git stash pop) 저는 어제 같은 문제가 있었을 때 이것을 해야 했습니다.

이 오류는 충돌을 해결하지만 파일을 단계 영역에 추가해야 할 때 발생합니다.git add. 그것을 해결할 것입니다.그런 다음 커밋 및 병합을 시도합니다.

git 2.23(2019년 8월) 이후로 이제 다음을 수행할 수 있는 바로 가기가 있습니다.git restore --staged [filepath]이 명령을 사용하면 충돌한 파일을 추가하거나 제거할 필요 없이 무시할 수 있습니다.

예:

> git status

  ...
  Unmerged paths:
    (use "git add <file>..." to mark resolution)
      both modified:   file.ex

> git restore --staged file.ex

> git status

  ...
  Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
      modified:   file.ex

유사한 문제가 발생하여 "병합되지 않은 경로"에서 파일을 제거하는 것으로 귀결되었습니다.

이러한 파일은 다음을 사용하여 제거해야 합니다.git rm

그래서 위의 오류로부터.이 문제를 해결하려면 코드를 되돌리기만 하면 됩니다.(git revert HEAD) 그 때git pull그런 다음 변경 사항을 다시 실행합니다.git pull오류 없이 커밋하거나 병합할 수 있었습니다.

언급URL : https://stackoverflow.com/questions/12961752/git-merge-error-commit-is-not-possible-because-you-have-unmerged-files

반응형