Visual Studio Online Git - 如何确保/包被忽略?

时间:2013-11-15 20:48:58

标签: git visual-studio gitignore azure-devops

我的.gitignore是否正常工作?我向它添加了packages文件夹,它仍然希望在每次提交时都提交我的所有包。

我现在正在做的是在每次提交时排除包文件夹,这是非常糟糕的。我是否遗漏了某些东西,或者它是Visual Studio / Visual Studio在线Git系统中的错误?

的.gitignore

# NuGet Packages Directory
## TODO: If you have NuGet Package Restore enabled, uncomment the next line
packages/

图像

enter image description here

3 个答案:

答案 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插件中。 所有你需要解决它:

  1. In"包含的更改"部分,右键单击"包"
  2. 点击"排除所有"
  3. In"排除的变更"部分,右键单击"包"
  4. 点击"撤消"
  5. 这些操作可以帮助您解决问题