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

时间:2010-02-27 12:42:51

标签: .net git gitignore

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

11 个答案:

答案 0 :(得分:124)

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

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

答案 1 :(得分:16)

只需在gitignore中输入可能不会进入文件,您可能需要提交它。我使用以下方法为我工作

git rm -r --cached。

git add。

然后

git commit -am"删除被忽略的文件"

但是这会忽略我之后包含在存储库中的脚本文件夹。

答案 2 :(得分:3)

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

答案 3 :(得分:2)

如果你想忽略所有项目中的bin和obj,那么你可以使用(来自gitignore man page

  

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

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

答案 4 :(得分:2)

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

答案 5 :(得分:1)

@Raphael Pinel是绝对正确的。如果文件已经在Git存储库中,则.gitignore不起作用。

我使用VS2019和Azure DevOps作为我的Git存储库。这是我的固定方法。

在Visual Studio中,添加.gitignore文件(如果需要),然后将该文件推送到存储库中。 Team Explorer->更改->右键单击.gitignore-> Stage。然后提交,然后同步。 转到Azure DevOps网站。从Git存储库中删除bin / obj文件夹。 在Visual Studio中,团队资源管理器->更改->“撤消更改”到这些文件夹。 Team Explorer-> Synch-> Pull更新本地Git存储库。 现在,您可以构建项目,并且Git将忽略.gitignore文件中指定的文件夹。

答案 6 :(得分:1)

我让一些新开发人员将他们的 OBJ 和 Bin 文件签入存储库。 即使我有 git ignore 来排除这些文件,它也无法在我的本地存储库中工作。

我做了以下事情来解决这个问题

  1. 从存储库中删除了 Bin 和 Obj 文件夹。
  2. 也从我的本地存储库中删除了 bin 和 obj 文件夹。
  3. 创建/更新 gitignore 并保存(如果尚未完成)

如果您的 repo 中还有其他用户特定的文件,例如:Visual Studio 中的 .suo 完成上述操作后,您可以将它们添加到 gitignore 文件中。

我在浪费了一点时间后发现了这一点,希望这对遇到相同情况的人有所帮助。

答案 7 :(得分:0)

如果您尝试通过源代码树而仍然没有进入忽略文件,请转到工具->选项-> Git,然后选择.gitignore的位置 enter image description here

答案 8 :(得分:0)

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

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

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

enter image description here

答案 9 :(得分:0)

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

[PROJECT_FOLDER_NAME] / bin
[PROJECT_FOLDER_NAME] / obj

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

答案 10 :(得分:0)

尝试添加不需要的文件夹的名称,并且 git 永远不会从前面提到的根目录直接进行这些更改。尽管将这些文件夹名称添加到 .gitignore 中,但这对我有用:

bin
obj
packages