2015-07-21 56 views
2

我convicing GIT到則會忽略生成的文件製作GIT忽略DLL,PDB和類似的生成文件

這裏的問題是,我想忽略

modified: BLLTarifario/bin/Debug/BLLTarifario.dll 
    modified: BLLTarifario/bin/Debug/BLLTarifario.pdb 
    modified: BLLTarifario/bin/Debug/Corte.Library.dll 
    modified: BLLTarifario/bin/Debug/Corte.Library.pdb 
    modified: BLLTarifario/obj/Debug/BLLTarifario.csprojResolveAssemblyReference.cache 
    modified: BLLTarifario/obj/Debug/BLLTarifario.dll 
    modified: BLLTarifario/obj/Debug/BLLTarifario.pdb 
    modified: Corte.Library/bin/Debug/Corte.Library.dll 
    modified: Corte.Library/bin/Debug/Corte.Library.pdb 
    modified: Corte.Library/obj/Debug/Corte.Library.csprojResolveAssemblyReference.cache 
    modified: Corte.Library/obj/Debug/Corte.Library.dll 
    modified: Corte.Library/obj/Debug/Corte.Library.pdb 
    modified: Tarifario.Site/bin/BLLTarifario.dll 
    modified: Tarifario.Site/bin/BLLTarifario.pdb 
    modified: Tarifario.Site/bin/Corte.Library.dll 
    modified: Tarifario.Site/bin/Corte.Library.pdb 
    modified: Tarifario.Site/bin/Tarifario.Site.dll 
    modified: Tarifario.Site/bin/Tarifario.Site.pdb 
    modified: Tarifario.Site/obj/Debug/Tarifario.Site.csprojResolveAssemblyReference.cache 
    modified: Tarifario.Site/obj/Debug/Tarifario.Site.dll 
    modified: Tarifario.Site/obj/Debug/Tarifario.Site.pdb 
    modified: TestValidate/bin/Debug/BLLTarifario.dll 
    modified: TestValidate/bin/Debug/BLLTarifario.pdb 
    modified: TestValidate/bin/Debug/Corte.Library.dll 
    modified: TestValidate/bin/Debug/Corte.Library.pdb 
    modified: TestValidate/bin/Debug/TestValidate.exe 
    modified: TestValidate/bin/Debug/TestValidate.pdb 
    modified: TestValidate/obj/x86/Debug/TestValidate.csprojResolveAssemblyReference.cache 
    modified: TestValidate/obj/x86/Debug/TestValidate.exe 
    modified: TestValidate/obj/x86/Debug/TestValidate.pdb 

文件的例子,這裏是的.gitignore

/build/ 
*.suo 
*.user 
_ReSharper.*/ 
*.sdf 
bin/ 
obj/ 
Debug/ 
Release/ 
*.opensdf 
*.tlog 
*.log 
TestResult.xml 
*.VisualState.xml 
Version.cs 
Version.h 
Version.cpp 
*/bin/* 
*/obj/* 

回答

12

在將規則添加到.gitignore文件之前,您看起來像已經提交了這些文件。 Git將繼續監視已經被跟蹤的文件。

您需要在刪除這些文件時進行提交,然後應該忽略它們。

編輯:要刪除文件夾,它遞歸的內容,使用git rm -r,例如:

git rm -r "./BLLTarifario/bin/" 

你需要爲每個要刪除binobj目錄的做到這一點。

或者,您可以刪除文件夾(因爲它們將在編譯時重新生成)並再次運行git add -A以刪除已刪除的更改。請參閱:Staging Deleted files

因爲我只需要從我的每一個文件

git rm --cached BLLTarifario/bin/Debug/BLLTarifario.dll 

,最終的.gitignore文件運行此命令的REPO刪除它們是這個

*.cache 
*.dll 
*.exe 
*.pdb 
/build/ 
*.suo 
*.user 
_ReSharper.*/ 
*.sdf 
*.opensdf 
*.tlog 
*.log 
TestResult.xml 
*.VisualState.xml 
Version.cs 
Version.h 
Version.cpp 
+0

請給我提供git命令的例子來實現 –

+0

@MauricioGracia在我的答案中添加了命令。 –

+0

感謝您的快速響應我結束了使用'git rm --cached ' –

2

結果是什麼,如果你把

.dll 
.pdb 
.cache 
.exe 

進入您的.gitignore文件。

+0

已經解決 –