2014-08-29 72 views
2

我有一些含有Unicode字符文件的怪異的行爲:無法刪除文件的git

Spécifications fonctionnelles v1.4.pdf 

我不知道發生了什麼,但由於幾個小時,我有以下git的狀態消息:

$ git status 
On branch master 
Your branch is ahead of 'origin/master' by 4 commits. 
    (use "git push" to publish your local commits) 

Changes not staged for commit: 
    (use "git add/rm <file>..." to update what will be committed) 
    (use "git checkout -- <file>..." to discard changes in working directory) 

     deleted: "doc/fr/Sp\351cifications fonctionnelles v1.4.pdf" 

no changes added to commit (use "git add" and/or "git commit -a") 

該文件是存在的但如果我嘗試刪除它,我有以下列表:

 deleted: "Sp\303\251cifications fonctionnelles ERytmo v1.4.pdf" 
     deleted: "Sp\351cifications fonctionnelles ERytmo v1.4.pdf" 

我懷疑編碼的變化,但我的問題不在那裏,我只是想清理我的存儲庫狀態,但git reset --hard HEAD沒有效果。

有什麼想法?

+0

您是否嘗試過下列命令:'git rm file1 file2',以從您的索引中刪除已刪除的文件? – 2014-08-29 19:02:25

回答

1

嘗試git diff --name-only --diff-filter=D -z | xargs -0 git rm --cached

here服用。 「如果你真正想做的就是從索引中刪除工作樹中不再存在的文件(可能是因爲你的工作樹很髒,所以你不能使用git commit -a),請使用以下命令」^