为什么不gitignore .gitignore?

时间:2014-03-07 13:43:15

标签: git gitignore

为什么不git忽略.gitignore?这是一个错误还是这个功能?我看不出有什么理由想要分享.gitignore文件。将.gitignore添加到.gitignore感觉有点讽刺。

这有什么理由吗?

5 个答案:

答案 0 :(得分:9)

简而言之 - 这是一个功能。

.gitignore并不是项目中每个开发人员的本地文件。

您需要忽略任何人无意提交回购的文件和文件夹。

示例:构建文件夹,供应商文件夹(通过包管理器安装 - 例如node_modules),二进制文件。

以下是来自GitHub的一篇很好的帮助文章:https://help.github.com/articles/ignoring-files

您还可以查看github/gitignore存储库中的示例。

E.g。 Symfony2 .gitignore忽略了通过composer安装的日志,缓存,上传,供应商库以及常见的二进制文件,如composer.phar

# Bootstrap
app/bootstrap*

# Symfony directories
vendor/*
*/logs/*
*/cache/*
web/uploads/*
web/bundles/*

# Configuration files
app/config/parameters.ini
app/config/parameters.yml

# Composer
composer.phar

答案 1 :(得分:3)

这是一项功能。例如,在Java中,您希望忽略所有*.class个文件。因此,存储库的每个用户都必须确保没有提交*.class个文件。因此,这是一个用例,此.gitignore应该可供此存储库的所有用户使用。

答案 2 :(得分:1)

这是一个功能。

.gitignore文件的目的是确保Git未跟踪的某些文件保持未跟踪。因此,它应该提交到存储库中,以便与克隆存储库的任何其他用户共享忽略规则。

您还可以创建一个全局.gitignore文件,该文件是用于忽略计算机上每个Git存储库中的文件的规则列表。例如,您可以在〜/ .gitignore_global中创建文件并为其添加一些规则。要将此文件添加到全局Git配置,请在终端中运行以下命令:

git config --global core.excludesfile ~/.gitignore_global

有关详细信息,请查看official documentation

答案 3 :(得分:0)

如果你从不同角度看它。可能会有更多人问为什么git会忽略.gitignore?如何将.gitignore添加到我的存储库?等等。将.gitignore包含在repo中将其排除并将其明确添加到gitignore将会更加成问题。它可能在某种程度上看起来很奇怪,但你必须克服它。

所以,这就是为什么它不是一个错误它是一个特征 !!!

答案 4 :(得分:0)

将以下内容放入.gitignore文件中并自行查看:

*

Git忽略.gitignore文件!

要“修复”这个你必须:

*
!.gitignore