2016-12-22 2 views
7

나는 풀 때 "스왑 파일을 .MERGE_MSG.swp이 이미 존재합니다"나는 밀어는 자식 병합 오류 해결 방법

E325: ATTENTION 
Found a swap file by the name "~/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp" 
      owned by: username dated: Wed Dec 14 12:28:45 2016 
     file name: ~username/Documents/Sites/recipegenerator/.git/MERGE_MSG 
      modified: YES 
     user name: username host name: Users-MacBook-Pro.local 
     process ID: 33747 
While opening file "/Users/larsvanurk/Documents/Sites/recipegenerator/.git/MERGE_MSG" 
      dated: Thu Dec 22 14:06:17 2016 
     NEWER than swap file! 

(1) Another program may be editing the same file. 
    If this is the case, be careful not to end up with two 
    different instances of the same file when making changes. 
    Quit, or continue with caution. 

(2) An edit session for this file crashed. 
    If this is the case, use ":recover" or "vim -r /Users/username/Documents/Sites/recipegenerator/.git/MERGE_MSG" 
    to recover the changes (see ":help recovery"). 
    If you did this already, delete the swap file "/Users/username/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp" 
    to avoid this message. 

Swap file "~/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp" already exists! 

:

To https://github.com/nickname/recipegenerator.git 
! [rejected]  master -> master (fetch first) 
error: failed to push some refs to 'https://github.com/nickname/recipegenerator.git' 
hint: Updates were rejected because the remote contains work that you do 
hint: not have locally. This is usually caused by another repository pushing 
hint: to the same ref. You may want to first integrate the remote changes 
hint: (e.g., 'git pull ...') before pushing again. 
hint: See the 'Note about fast-forwards' in 'git push --help' for details. 

도와주세요 : C 나도 몰라 무엇을. 나는 밀거나 당길 수 없다. 나는 내가 생각할 수있는 모든 것을 시도했다. 나는 또한 시도했다 : git merge --abort. 문제는 내가 그렇게 할 때, 내가 해결해야 할 갈등을 찾을 수없는 것입니다.

답변

9

git에서 텍스트 편집기로 사용하고있는 VIM의 메시지입니다. 당신은이 두 (1) (2) 점을 읽고 시험해 보았습니까? 그들 중 하나는 아마도 사실 일 것이며, 당신이이 문제를 해결하게 할 것입니다.

먼저 MERGE_MSG 파일 (MERGE_MSG.swp 아님)을 확인하고 파일이 존재하고 무엇이 들어 있는지 확인하십시오. 대개 휴지통이거나 안전하게 삭제할 수있는 임시 파일 일 가능성이 큽니다. 이름에서 볼 때, 아마도 병합 커밋 메시지의 임시 텍스트 편집 영역으로 사용되는 파일 이름 일 것입니다.

그런 다음 VIM을 사용하기 때문에 VIM이 시작될 때 자체 내부 요구에 맞게 스왑 파일을 만들려고합니다. 오류 메시지는 ~/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp입니다. 종종 이러한 스왑 파일을 삭제할 수 있습니다 (특히 이전 또는 예기치 않은 경우). 그러나 최근에 일부 병합 - 커밋 메시지 편집 세션이 중단 된 경우 크리에이티브 텍스트가 많은 경우 손실되지 않으려면 삭제하지 말고 을 대신 복구하십시오 (2) 오류 메시지.

그러나 사용자가 작성한 텍스트를 잃어버린 것에 대해 아무 것도 말하지 않았으므로, 어쨌든 자동 생성 된 MERGE_MSG 일 수도 있기 때문에 다음과 같이 할 수 있습니다.

git merge --abort 
rm ~/Documents/Sites/recipegenerator/.git/.MERGE_MSG.swp 

그리고 다시 한 번 시도해보십시오.

또한 오류 메시지에서 (1)에서 언급 한 힌트를 확인하는 것이 좋습니다. ps 또는 현재 MERGE_MSG를 편집 할 수있는 열려있는 VIM 세션이 있는지 확인하십시오. 당신이 무엇이라도 발견한다면, 글쎄, 그들에게 다가 가서 편집을 끝내거나, 종료 (탈출, : q !, enter) (vim은 종료시에 정리를 바꿀 것입니다.) 또는 종료 시키십시오. 수동으로 스왑 파일을 제거합니다.