为什么不git忽略.gitignore?这是一个错误还是这个功能?我看不出有什么理由想要分享.gitignore文件。将.gitignore添加到.gitignore感觉有点讽刺。
这有什么理由吗?
答案 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