gpt4 book ai didi

git - 使用多个 .gitignore 文件的最佳实践

转载 作者:IT王子 更新时间:2023-10-29 00:54:49 31 4
gpt4 key购买 nike

存在一组有用的 .gitignore 文件在 https://github.com/github/gitignore .每个忽略文件都有一个扩展名 .gitignore,例如Java.gitignore,vim.gitignore。当我将这些文件直接放入工作目录时,它们不起作用。

是否需要创建单个文件 .gitignore 并将组成文件 merge 到其中?

因此,当使用 --global .gitignore 文件时,配置似乎指向单个文件。例如,如果我想应用 Global/目录中的所有 .gitignore 文件,我应该手动将它们 merge 到一个文件中吗?如果是这样,则需要额外的工作来使此 merge 文件与“官方”集合保持同步。

重申一下,我承认我们可以在不同的目录中使用不同的 .gitignore 文件,但这不是我想要的。我想在一个目录中应用多个 .gitignore 文件。

最佳答案

澄清一下:项目的 gitignore 文件称为 .gitignore


背景:

.gitignore 指的是它所在的目录,它是具有 .git 存储库的目录的顶级目录或后代目录,即“.git/”目录。

任何子目录中都可以有多个 .gitignore 文件,但最佳实践是在给定的项目根目录中有 一个 .gitignore并根据需要让该文件引用子目录,例如images/yearly/recent 否则很难知道要查看“哪个”.gitignore 文件以找到被忽略的内容。鉴于您可以使用模式作为文件名,这可能非常棘手!

我还建议避免使用全局.gitignore 文件,该文件适用于您计算机上的所有 项目,尽管您可能保留一个模板用于新项目。这里的主要考虑是你的 .gitignore 将与其他开发人员不同(可能存在也可能不存在),因此结果未定。一个异常(exception)的例子是使用全局 .gitignore 文件作为我在我的机器上打开的任何项目中不需要的 IDE 文件,所以我使用全局 .gitigore 包含 .idea/文件 (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

媒体热(ish)(2014 年夏季):

Gitignorer 是一个简单的实用程序,可帮助创建 .gitignore 文件。它从 github.com/github/gitignore 中提取特定的(指定的).gitignore 模板,以及要排除的公共(public)文件,将它们混合在一起,并将它们保存到当前目录中的 .gitignore。

示例用法:

gitignorer create c java python

Gitignorer 目前在 AUR 中可用 https://aur.archlinux.org/packages/gitignorer/在 GitHub 上 https://github.com/zachlatta/gitignorer


关于git - 使用多个 .gitignore 文件的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10274424/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com