我正在使用 msysgit 并且有一个项目树,其中包含树中的许多 bin/ 文件夹。使用项目根目录中的 .gitignore 文件,我需要忽略驻留在项目树中任何位置的 bin/ 文件夹中的所有 .dll 文件。我已经尝试过“bin/*.dll”,但这不起作用,我认为它只适用于项目根目录中的 bin/ 文件夹。
6 回答
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 文件中。
刚刚遇到类似的问题并意识到:文件已经添加并签入到 git。
如何识别差异:Git 没有将文件显示为“新”,而是“修改”。这个细节花了我相当长的时间...
如果这是问题所在,只需“git rm”这些文件并重新开始。突然,.gitignore 开始按预期工作。
我只是/bin
在我的文件中,它似乎工作。它忽略整个文件夹(而不是其中的特定文件)
以下是截至目前的完整内容(仍在发展中)。
.svn*
obj/
bin/
*.suo
*.user
Log/
log/
*.db
.gitignore 在 Windows 上,似乎不起作用。我正在使用 msysgit v 1.7.6 beta,它只是不能按照 .gitignor 手册页的方式工作。现在,如果我将 .gitignore 文件的内容复制到 $GIT_DIR/info/exclude 文件中,在 repo 中,一切正常。
因此,令人遗憾的是,这不会被复制,但总比没有好。
根据您使用的语言,您可以从链接中选择它
例如,如果您使用的是 java,则可以使用gitignore
还有https://www.gitignore.io/允许你在线创建 gitignore 文件,你只需要输入操作系统、IDE 或编程语言并基于它,它就会给你 gitignore 文件。使用它,您可以轻松地为您的项目创建 gitignore 文件。
*/bin 为我工作
我认为 */bin/ 也会。