如何忽略git存储库中的bin和obj文件夹?


111

我想忽略我的git存储库中的bin和obj文件夹。正如我发现的那样,.gitignore中没有简单的方法可以做到这一点。那么,还有其他方法吗?在Visual Studio中使用干净的解决方案?


它对我来说行得通-我在.gitignore文件中将单词“ bin”和“ obj”添加为单独的行
Tim Robinson 2010年

1
如果解决方案包含许多项目,而不仅仅是一个项目?
chester89 2010年

您可以准确地发布您正在尝试的内容和哪些内容不起作用的信息。objbin在顶级的.gitignore应该不顾一切所谓的objbin所有较低水平。
CB Bailey

2
我的理解是.gitignore内容适用于每个子目录,因此普通的'bin'和'obj'随处可用。将在答案中发布我的.gitignore。
蒂姆·罗宾逊

Answers:


164

我不确定为什么这对您不起作用。如果有帮助,这是我的Visual Studio / git项目之一的典型.gitignore文件:

*.suo
*.user
_ReSharper.*
bin
obj
packages

4
我还添加packages从作为的NuGet你可以很容易地重新下载它们
米哈尔Ciechan

1
当您首先提交所有文件,然后将.gitignore文件添加到您的仓库中并提交时,它不起作用。新忽略的文件仍将显示为已修改(例如,如果您重建)。
vlad2135

7
我最近使用了建议的.gitignore文件,该文件位于:github.com/github/gitignore/blob/master/VisualStudio.gitignore,获得了巨大的成功。
BigTFromAZ

1
@BigTFromAZ您应该添加它作为答案,这比公认的要好得多!
阿夫罗洪·伊斯洛尔

61

仅在gitignore中创建一个条目可能不会忽略文件,您可能需要提交它。我使用以下方法为我工作

git rm -r --cached .

git add .

然后

git commit -am "Remove ignored files"

但是,这将忽略我的脚本文件夹,该文件夹稍后将包含在存储库中。


可以。但是Vscode找不到修改后的代码。我自己改变了一些东西,然后将其推给了原产地大师。然后它起作用了。:)
Dentrax

我有很多项目的解决方案,并且由于某种原因git add。永远不会完成。
Chucky

伟大的Arvind !,一个新手开发人员,将所有bin /和obj /合并到了我们的工作分支中(跳过策略...我不知道!),这是从存储库中删除所有这些文件的方式。
Equintas

我是新手(至少是git),我是自己做的。从来没有想过rm,然后再添加回来,因为我不知道git rm仅删除索引中的项目,而不删除磁盘。因此,如果我理解正确,您的前两个命令通过删除索引中的所有内容并重新添加所有内容,然后应用.gitignore过滤器来重建索引。然后提交使它在存储库中生效。非常聪明。
BigTFromAZ

大!这对我来说效果很好。所有.vs,obj,bin和其他忽略的文件。
Stanley Okpala Nwosa

9

如果您使用的是Visual Studio,则有一种简单的方法。

  1. 打开团队资源管理器
  2. 点击设置
  3. 储存库设定
  4. 在“忽略和属性文件”部分下,单击“忽略文件”旁边的“添加”。

它将创建一个默认的.gitignore文件,该文件将忽略框架/语言将使用的大多数常见文件夹和文件。

在此处输入图片说明


3
  • 在Windows资源管理器中找到binobj文件夹
  • 右键单击TortoiseGit>删除并添加到忽略列表> bin
  • 右键单击TortoiseGit>删除并添加到忽略列表> obj

1
它运作完美。感谢@Denys Wessels
Biswajit Panday

2

如果要忽略所有项目中的bin和obj,则可以使用(来自gitignore手册页

从配置变量core.excludesfile指定的文件中读取模式。

可以在Unix中的〜/ .gitconfig的配置文件中设置core.excludesfile-我不知道它在Windows下的位置


很好的信息,但他表示此解决方案中的所有Visual Studio项目都不是计算机上的所有项目。
AhHatem

2
尽管最有可能他对在任何解决方案中提交binobj文件夹都不会感兴趣。:)
MEMark

1

如果您以前提交过bin和obj文件夹,则将它们添加到.gitignore不会自动删除它们。您需要提交删除这些文件夹的信息,例如 git rm -rf objgit rm -rf yourProject/obj 然后提交删除


0

如果您尝试通过源代码树,但仍然没有进入忽略文件,请转到工具->选项-> Git,然后选择.gitignore的位置 在此处输入图片说明


0

在我的情况下,bin和obj文件夹嵌套在.gitignore根文件的Project文件夹下,因此我必须如下添加:

[PROJECT_FOLDER_NAME] / bin
[PROJECT_FOLDER_NAME] / obj

将PROJECT_FOLDER_NAME替换为您的项目文件夹名称

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.