你应该将.gitignore投入Git回购吗?

Should you commit .gitignore into the Git repos?

你认为将.gitignore变成Git仓库是一种好习惯吗?

有些人不喜欢它,但我认为它很好,因为你可以跟踪文件的历史记录。 不是吗?


通常是的,.gitignore对于想要使用存储库的每个人都很有用。有时候你会想要忽略更多私人事物(也许你经常会创建LOG或者其他东西。在这种情况下你可能不想强迫其他人。


您通常会提交.gitignore。事实上,当我不做某些工作时,我个人确实希望我的索引始终是干净的。 (git status应该什么都不显示。)

在某些情况下,您要忽略实际上不是项目特定的内容。例如,您的文本编辑器可能会创建自动*~备份文件,或者另一个示例是OS X创建的.DS_Store文件。

我会说,如果其他人抱怨那些混乱你的.gitignore的规则,请将它们排除在外,而是将它们放在全局排除文件中。

默认情况下,此文件位于$XDG_CONFIG_HOME/git/ignore(默认为~/.config/git/ignore),但可以通过设置core.excludesfile选项更改此位置。例如:

1
git config --global core.excludesfile ~/.gitignore

只需创建和编辑全局排除文件到您的内心;它将适用于您在该计算机上工作的每个git存储库。


我把提交.gitignore,这是对其他可能构建我的项目的人的礼貌,以下文件是派生的,应该被忽略。

我经常做混合动力。我喜欢让makefile生成.gitignore文件,因为makefile将知道与项目相关的所有文件 - 来源或其他。然后有一个你签入的顶级项目.gitignore,它将忽略makefile为各个子目录创建的生成的.gitignore文件。

所以在我的项目中,我可能有一个包含所有构建的可执行文件的bin子目录。然后,我将让我的makefile为该bin目录生成一个.gitignore。并在顶部目录.gitignore中列出bin / .gitignore。最上面一个是我签到的那个。


.gitignore至少是您的构建产品(程序,* .o等)是一个好习惯。