有一组有用的.gitignore
文件
https://github.com/github/gitignore。每个忽略文件都有一个扩展名.gitignore
,例如Java.gitignore,vim.gitignore。当我将这些文件直接放入workdir时,它们不起作用。
是否需要创建单个文件.gitignore
并将组成文件合并到其中?
因此,当使用--global
.gitignore
文件时,配置似乎指向单个文件。例如,如果我想在Global /目录中应用所有.gitignore
文件,我应该手动将它们合并到一个文件中吗?如果是这样,那么将这个合并文件与“官方”集合保持同步是额外的工作。
重申一下,我承认我们可以在不同的目录中使用不同的.gitignore
文件,但这不是我想要的。我想在一个目录中应用多个.gitignore
文件。
答案 0 :(得分:33)
澄清:项目gitignore文件名为.gitignore
背景:
.gitignore
指的是它所在的目录,它是具有.git存储库的目录的顶级或后代,即“.git /”目录。
任何子目录中都可以有多个.gitignore
文件,但最佳实践是在给定的项目根目录中包含一个 .gitignore
并且具有该文件引用子目录必要时,例如images / annual / recent否则,要知道“哪个”.gitignore文件要查找被忽略的内容是很棘手的。鉴于你可以使用模式作为文件名,这可能非常棘手!
我还建议避免使用适用于您计算机上所有项目的全局.gitignore
文件,尽管您可以保留一个模板以便使用new项目。这里的主要考虑因素是您的.gitignore
将与其他开发人员(可能存在或可能不存在)不同,因此结果未确定。此例外的一个例子是在我的机器上打开的任何项目中使用IDE文件的全局.gitignore
文件,因此我使用带有条目的全局.gitigore
。 idea / files(rubyMine)。
您看到的模板的目的是通常用特定语言编写给定文件的代码。鉴于此,基于该语言的模板通常就足够了。
如果代码库中有多种语言,那么您需要为这些语言组合多个.gitignore
,这可以通过多种方式完成,例如:
cat .gitignore1 .gitignore2 > .gitignore # if .gitignore doesn't exist yet
cat .gitignore1 >> .gitignore # Add to it if it already exists
paste .gitignore1 .gitignore # Add to it if it already exists
Hot(ish)关闭媒体(2014年夏季):
Gitignorer是一个简单的实用程序,可帮助创建.gitignore文件。它从github.com/github/gitignore中提取特定的(指定的).gitignore模板,以及要排除的公共文件,将它们混合在一起,并将它们保存到当前目录中的.gitignore。
使用示例:
gitignorer create c java python
Gitignorer目前在https://aur.archlinux.org/packages/gitignorer/的AUR和https://github.com/zachlatta/gitignorer的GitHub上提供