我的.gitignore
是否正常工作?我向它添加了packages文件夹,它仍然希望在每次提交时都提交我的所有包。
我现在正在做的是在每次提交时排除包文件夹,这是非常糟糕的。我是否遗漏了某些东西,或者它是Visual Studio / Visual Studio在线Git系统中的错误?
# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
packages/
答案 0 :(得分:7)
您的.gitignore
应该有效,因为根据to the FAQ,TFS 2013中的“Included changes
”不代表分阶段更改:
如果您是经验丰富的Git用户,您可能已经注意到Visual Studio处理的更改与命令提示符的处理方式不同 您可能想知道“包含的更改”部分是否包含您的暂存更改 实际上,Visual Studio通常会为您绕过Git阶段。 当您提交更改时,Visual Studio会同时暂存和提交 将文件添加到Git存储库时会发生一个例外; Visual Studio确实进行了这种改变。
因此,如果添加了文件,则可能必须在命令行中检查git status,并执行该文件的git rm --cached
。
但是如果没有添加任何文件,这可能是当前的错误,如“TFS/Git extensions seems to ignore .gitignore
”中所示。
答案 1 :(得分:5)
@VonC给出了你可能需要的答案。
如果您在添加/编辑.gitignore文件之前已经提交了packages文件夹,那么这些包将成为“跟踪文件”。无论.gitignore文件如何,Git都会更新它们。要排除软件包,您需要将它们从索引和存储库中删除。
在命令提示符下,使用git rm -r --cached packages/
从索引中删除软件包,同时将它们保存在工作文件夹中。当您进行提交时,这些文件也将从存储库中删除。
答案 2 :(得分:2)
有时它会发生在Visual Studio Git插件中。 所有你需要解决它:
这些操作可以帮助您解决问题