Dot-Net

在 Git 中,刪除意外送出的 DLL 和 PDB 文件

  • September 30, 2019

我有一個 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

引用自:https://stackoverflow.com/questions/12133510