2014-03-07 186 views
2

为什么不忽略.gitignore?这是一个错误还是这是一个功能?我看不到任何人想分享一个.gitignore文件的任何理由。必须将.gitignore添加到.gitignore,这感觉有点讽刺。为什么git忽略.gitgnore?

这是否有任何理由?

+0

哪里可以存储关于要忽略的文件/目录的所有信息? – Ismael

+0

还请检查:http://git-scm.com/docs/gitignore – Blaise

+0

想象一下,如果您的同事'git clone'您的项目没有您的'.gitignore'文件,并且他们推送那里修改!它会使用'.gitignore'来推动你不想要的所有文件,并且下一次你拉你的项目时,你会收到他们推送的所有垃圾:/ – VivienG

回答

9

总之 - 这是一个功能。

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

您需要忽略任何人都不想提交给回购的文件和文件夹。

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

这里是从GitHub一个很好的帮助文章:https://help.github.com/articles/ignoring-files

你也可以检查出github/gitignore库的例子。

E.g. Symfony2的.gitignore无视日志,缓存,上传,供应商通过作曲家安装库和常用的二进制文件像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 
3

这是一个特点。例如在Java中,您希望忽略所有*.class文件。因此,您的存储库的每个用户都必须确保没有提交*.class文件。因此,这是一个用于此存储库的所有用户都可以使用的用例。

0

如果你从不同的角度来看它。可能会有更多的人问为什么git忽略.gitignore? or 如何将.gitignore添加到我的资料库?等。将gitignore包含在repo中,将其明确地添加到gitignore中会更加麻烦。它在某种程度上看起来很怪异,但你必须克服它。

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

0

把下面的内容中.gitignore文件,并检查了一下自己:

* 

的Git忽略.gitignore文件!

要 '修复' 这个你必须:

* 
!.gitignore 
1

这是一个特点。

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

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

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

如需进一步信息,您可以检查official documentation