21

我正在使用 msysgit 并且有一个项目树,其中包含树中的许多 bin/ 文件夹。使用项目根目录中的 .gitignore 文件,我需要忽略驻留在项目树中任何位置的 bin/ 文件夹中的所有 .dll 文件。我已经尝试过“bin/*.dll”,但这不起作用,我认为它只适用于项目根目录中的 bin/ 文件夹。

4

6 回答 6

14

2016 年 8 月更新(七年后,Git 2.9.3/Git 2.10)

**/bin/*.dll

这确实适用于任何深度。


原始答案(2009,Git 1.6)

你试过了吗:

**/bin/*.dll

它适用于我的 msysgit1.6.3(.gitignore在 Git 工作区的根目录中有一个文件)。

实际上上面只会忽略' x/bin/z.dll',而不是' x/y/bin/z.dll'。

另一种语法可能是:

**/*/bin/*.dll

但这只会得到深度 3,而不是深度 2!

因此,如果您没有太多需要忽略 *.dll 的地方,最简单的解决方案仍然是那些“bin”目录中的本地 .gitignore 文件......

或涵盖主要第一深度的指令集合:

bin/*.dll
**/bin/*.dll
**/*/bin/*.dll
**/**/*/bin/*.dll

等等,都在一个 .gitignore 文件中。

于 2009-06-09T17:47:07.920 回答
14

刚刚遇到类似的问题并意识到:文件已经添加并签入到 git。

如何识别差异:Git 没有将文件显示为“新”,而是“修改”。这个细节花了我相当长的时间...

如果这是问题所在,只需“git rm”这些文件并重新开始。突然,.gitignore 开始按预期工作。

于 2010-09-05T13:22:20.690 回答
13

我只是/bin在我的文件中,它似乎工作。它忽略整个文件夹(而不是其中的特定文件)

以下是截至目前的完整内容(仍在发展中)。

.svn*
obj/
bin/
*.suo
*.user
Log/
log/
*.db
于 2009-06-11T23:25:43.703 回答
4

.gitignore 在 Windows 上,似乎不起作用。我正在使用 msysgit v 1.7.6 beta,它只是不能按照 .gitignor 手册页的方式工作。现在,如果我将 .gitignore 文件的内容复制到 $GIT_DIR/info/exclude 文件中,在 repo 中,一切正常。

因此,令人遗憾的是,这不会被复制,但总比没有好。

于 2011-09-02T19:06:50.450 回答
1

根据您使用的语言,您可以从链接中选择它

例如,如果您使用的是 java,则可以使用gitignore

还有https://www.gitignore.io/允许你在线创建 gitignore 文件,你只需要输入操作系统、IDE 或编程语言并基于它,它就会给你 gitignore 文件。使用它,您可以轻松地为您的项目创建 gitignore 文件。

于 2018-07-20T07:00:08.680 回答
0

*/bin 为我工作

我认为 */bin/ 也会。

于 2010-04-02T02:29:17.867 回答