2012-03-01 74 views
1

我想從git存儲庫中刪除幾個文件。我的倉庫有幾個分支,我也下:從git下刪除檔案庫

git rm --cached filename 
git commit -am "deleted filename" 
git checkout anotherbranch 

我越來越:

error: The following untracked working tree files would be overwritten 
by checkout: 
    output/filename 

Please move or remove them before you can switch branches. 
Aborting 

所以問題是如何從回購刪除文件(小心加入)?我不想通過git跟蹤文件名我打算將這個文件名添加到.gitignore。

最好的問候,

彼得

回答

2

我通常正常刪除這些文件(而不是通過git的命令)。然後我刪除了所有的文件後,我這樣做:

git add。 -A

git的承諾-a -m 「刪除文件」

0

當你

git rm --cached 

您刪除git的文件,但它們被留在磁盤上,這樣你就犯後這個改變,你的文件仍然在磁盤上,但不在git中。因此git將它們識別爲未跟蹤的文件。

你想切換到仍然有這些文件的分支,並且git不會讓你切換到其他分支,如果這個分支的簽出會影響你的本地修改(utracked文件或修改後的文件)

0

在我看來我看來,最好的辦法就是修改你的承諾:

git commit --amend 

但是,如果你的提交已經被推進到遠程倉庫,我建議建立另一個承諾和刪除這些文件。我認爲這是解決這個問題的最簡單方法。