2015-07-21 51 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

已经解决 –