2016-06-07 61 views
1

Screenshot如何讓Git忘記/刪除具有無效文件名的已刪除文件?

我不知道怎麼樣,但同事創建的文件名稱無效(slash文件名「的MCH \ 226 FH拉Crosse.xlsx」)。這個文件現在已經被刪除,但我似乎無法讓git忘記它。我仍然可以拉/推/提交,但是我一直在盯着這條消息,每次我在過去一年同步我的回購協議,現在我決定我已經有足夠的錢了,我需要它消失。

我試圖做一個git rm,但我得到了錯誤「沒有匹配任何文件」。我不能用這個文件名實際重新創建一個文件,以完成RM,因爲名稱中的斜線......任何建議?

+0

Git在Windows上出現問題,文件名在Linux上正常工作。 (我們這些使用Mac的人不應該過於自鳴得意,因爲它在HFS文件系統上有類似的問題可以摺疊。:-)但是我們至少有*選項*)。你應該能夠'git rm --cached '的路徑,但如果它已經走了一年,在這一點上根本不應該顯示出來,除非你繼續檢查舊提交的位置。您的屏幕截圖顯示該文件不是,實際上從未在最近的提交中被刪除。 – torek

回答

0
git rm -r --cached -- "path/to/directory" 

git pull 

git rm "path/to/directory" 

git add "path/to/directory" 

git push 

git pull 
1

git rm是從您的索引和/或工作樹中刪除現有的文件。對於已被刪除的文件,它不會執行任何操作。相反,您可能必須提交文件刪除。

在終端中,$ git status在您的項目中。你應該看到類似

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: MCHS \226 FH La Crosse.xlsx 

添加文件並提交:

git add "MCHS \\226 FH La Crosse.xlsx" 
git commit -m "remove deleted file from remote repo" 

最後,推到遠程回購。

+0

hm,這聽起來很有希望。我會嘗試一下,我會盡快回復你。 編輯:沒有運氣。收到以下錯誤時嘗試'git add' fatal:pathspec'MCHS \\ 226 FH La Crosse.xlsx'沒有匹配任何文件 @amacrobert – peterxgriffin

+0

@peterxgriffin'git status'的輸出是什麼? – amacrobert

+0

這幾乎是你在原始答案中的第一個代碼塊中列出的內容: '未對提交進行更改: (使用「git add/rm ...」更新將提交的內容) 「git checkout - ...」放棄工作目錄中的更改) 已刪除:「Conversion Scripts/Mayo/LookUpMerge/Category-Status-StaffType - FINAL/RemainingBlanks/MCHS \ 226 FH La Crosse.xlsx」 未提交更改(使用「git add」和/或「git commit -a」) – peterxgriffin