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

时间:2011-04-23 17:08:02

标签: git gitignore

您认为将.gitignore提交到Git仓库是一种好习惯吗?

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

5 个答案:

答案 0 :(得分:441)

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

答案 1 :(得分:121)

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

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

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

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

然后只需创建并编辑~/.gitignore到您心中的内容;它将适用于您在该计算机上处​​理的每个git存储库。

答案 2 :(得分:11)

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

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

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

答案 3 :(得分:0)

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

因此,请提交您的.gitignore,但在您有理由确保其以后不会有太大改变之前,请勿提交。

答案 4 :(得分:-4)

.gitignore 至少您的构建产品(程序,* .o等)是一种很好的做法。