【git】交換文件 "C:/Users/Administrator/Desktop/2/interface/.git/.MERGE_MSG.swp" 已存在!


 

 

git pull 出現這個錯誤頁面

百度說明

問題根源
問題原因:

問題出現的原因很好發現,因為在錯誤提示中已經說明,但是因為英文太渣,習慣性忽略。。。這真的不是一個好習慣。

以下是英語渣博主的大概翻譯:

當打開 git/MERGE_MSG 文件的時候,發現有 git/MERGE_MSG.swp 文件的存在,並且從時間上來看, MERGE_MSG 比 MERGE_MSG.swp 要更新。

造成這種情況的原因有以下兩種可能

(1)另外一個應用正在打開此文件。這種情況,要小心修改,防止出現同一個文件,兩種修改版本的出現。完了之后可以選擇退出或者更加小心的繼續 。

(2)編輯該文件的時候,該文件不正常關閉了。這種情況,如果需要,可以選擇 “:recover” or “vim -r project-path/.git/MERGE_MSG” 命令來恢復文件關閉前的修改。

上述兩種情況確認完畢后,刪除 MERGE_MSG.swp 文件,就可以避免該錯誤提示。

關於 MERGE_MSG.swp 文件的說明:

.swp 文件和 git 無關,在使用 VIM 開始編輯某文件時,都會產生該文件對應的 .swp 文件。正常的退出,VIM 會自動刪除此類型文件,非正常退出情況下, VIM 不會刪除 ,.swp 文件會作為文件編輯狀態的內容備份。

其實多次打開多次不正常關閉,會一直產生 .sw* 文件

 

問題解決1:

第一步:回到合並前狀態

git merge -abort // 中止合並
rm .git/.MERGE_MSG.sw* //刪除 vim 非正常關閉產生的文件

第二步:重新合並
合並提交信息頁面,使用 :wq! 或者 :q! 正常退出 VIM ,就能正常合並啦。

PS:
如果 .git/MERGE_* 文件中 只有 MERGE_MSG 文件的話,不用執行 git merge -abort ,直接刪除 .MERGE_MSG.sw* 文件就好。

git merge -abort // 會刪除 merge_* 文件

rm .git/.MERGE_MSG.sw* // 會刪除 .MERGE_MSG.sw* 文件

 

問題解決2:

 直接不處理

:q 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM