Dot-Net
在 Git 中,刪除意外送出的 DLL 和 PDB 文件
我有一個 git repo,我需要在沒有衝突的情況下開始工作。它是 .net/c# mvc 儲存庫。問題是 dll 和 pdb 文件。這些文件被意外送出到了 repo,所以當我做我的初始時
git pull,我得到了另一個開發人員送出的所有這些文件。我已經設置了
.gitignore這樣的:bin/ obj/ App_data/從其他文章中,我相信這就是我需要做的所有事情,但是,如果我建構我的項目並執行
git status它,它會顯示許多將要送出的 dll 和 pdb 文件。這是因為當我複製它時這些文件存在於倉庫中嗎?如果是這樣,刪除這些文件的最佳方法是什麼?
您需要先刪除這些文件 (
git rm),然後才能看到您的.gitignore指令應用於您的 git 儲存庫。如果要將這些文件保留在工作樹上,則只能從索引中刪除它們。
git rm -r --cached a.dll(參見“
.gitignore文件不忽略”)但是對於生成的文件,是否刪除它們並不重要:您將在下一次編譯時重新創建它們,但忽略它們,因為它們不再是索引的一部分。
這是一個非常常見的問題,通常的答案是您無法清理過去的送出,但是有專門的工具可以解決這個問題。git 過濾器和更容易的 BFG repo 清潔器: http ://rtyley.github.io/bfg-repo-cleaner/#usage