您应该将 .gitignore 提交到 Git 存储库吗?

问题描述 投票:0回答:6

您认为将

.gitignore
提交到 Git 存储库是一个好的做法吗?

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

git gitignore
6个回答
625
投票

通常是的,

.gitignore
对于每个想要使用存储库的人都很有用。有时,您会想忽略更多私人事物(也许您经常创建
LOG
或其他东西)。在这些情况下,您可能不想将其强加给其他人。


172
投票

您通常承诺

.gitignore
。事实上,当我不做某事时,我个人会尽可能确保我的索引始终是干净的。 (
git status
应该什么也不显示。)

在某些情况下,您想要忽略实际上不是特定于项目的内容。例如,您的文本编辑器可能会创建自动

*~
备份文件,或者另一个示例是 OS X 创建的
.DS_Store
文件。

我想说,如果其他人抱怨这些规则弄乱了你的

.gitignore
,请将它们排除在外,而将它们放入全局排除文件中。

默认情况下,此文件位于

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

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

只需根据您的喜好创建和编辑全局排除文件即可;它将适用于您在该计算机上使用的每个 git 存储库。


14
投票

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

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

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


2
投票

提交 .gitignore 可能非常有用,但您要确保此后不会对其进行太多修改,特别是如果您定期在分支之间切换。 如果这样做,您可能会遇到文件在一个分支中被忽略而不是在另一个分支中的情况,迫使您手动删除或重命名工作目录中的文件,因为签出失败,因为它会覆盖非跟踪文件。

因此,是的,请提交您的 .gitignore,但在您有理由确定此后它不会发生太大变化之前。


1
投票

对我来说,我认为将 .gitignore 文件提交到存储库是个好主意。当有人克隆您的存储库并构建项目,或运行一些确实生成一些垃圾数据的测试时,可能不需要推送它...gitignore 文件只需忽略其中配置的文件..


-10
投票

这是一个很好的做法,

.gitignore
至少您的构建产品(程序、*.o 等)。

© www.soinside.com 2019 - 2024. All rights reserved.