我在文件名(元音變音)中有特殊字符的文件。我自從已經重命名了該文件,但git
仍然告訴我,我的'變更未提交提交'。但是,我不記得文件的正確名稱,而git只告訴我名字是"Mu\314\210.jpg"
。我不知道應該是什麼格式。 utf8
?我試過git rm
並複製了字符串,但沒有奏效。Git結帳/刪除具有特殊字符的文件
如何才能找到文件的原始名稱或如何在不知道確切文件名(可能只有文件擴展名)的情況下刪除文件?
編輯:我開始有這種感覺,該文件是在Windows PC上創建的,並且變音符號的編碼在那裏不同。但是,我無法解釋爲什麼我無法刪除文件。
我剛剛發現那些是八進制表示。然而,試用Can't remove directories git,Remove a file with a strange name from git和Git: how to specify file names containing octal notation on the command line的解決方案並沒有幫助。特別是解決方案
git rm `printf "Mu\314\210.jpg"`
沒有刪除該文件。它仍然給我"Mu\314\210.jpg" didn't match any files
。有其他方法可以刪除文件嗎?
printf
告訴我"Mu\314\210.jpg"
是"Mü.jpg"
。但是,我的Mac OSX上的ü
八進制表示應該是\303\274
。這就是爲什麼我假設u\314\210
來自Windows PC。仍然不知道如何幫助,雖然。
我只是試圖運行什麼git-rm
建議git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached
。我很安靜,現在該文件不能刪除,直到它再次被添加。我將嘗試使用舊文件名獲取該文件,然後將其刪除。
好的,添加舊文件也沒有幫助。 Mac OSX似乎會自動更改八進制表示法。似乎最後的機會是它在Windows PC上刪除它。
你嘗試(在克隆,安全) :'git rm - Mu *'看看是否有用? (或'git rm --cached - Mu *'如果該文件不在磁盤上,但只保留在Git repo索引中) – VonC
不幸的是它不起作用。當我輸入這個命令時,我得到一個'fatal:pathspec'錯誤。即使我只是輸入'git rm - M *'。 – user3607973