2011-04-23 130 views
354

你认为将gitignore提交到Git仓库是一个好习惯吗?您应该将.gitignore提交到Git仓库吗?

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

+29

如果没有,请将.gitignore放入.gitignore ... – CharlesB 2011-04-23 18:01:12

+0

可能重复[忽略.gitignore文件本身](http://stackoverflow.com/ question/767147/ignore-the-gitignore-file-itself) – 2016-08-31 00:39:43

回答

369

通常情况下,.gitignore对于每个想使用存储库的人都很有用。有时你要忽略更多的私人的事情(也许你经常会产生LOG什么的。在这种情况下,你可能不想逼上其他任何人。

+114

+1适当时,可以在'$ GIT_DIR/info/exclude'或〜/ .gitconfig'文件中提到“私人事物”。 – WReach 2011-04-23 17:16:27

103

您通常提交.gitignore。事实上,我亲自去尽可能确保当我不工作的东西我的索引总是干干净净。(git status应该什么都不显示。)

有要忽略的东西,真不是项目的具体情况。例如,您的文本编辑器可能会创建自动*~备份文件,或者另一个示例是由OS X创建的.DS_Store文件。

我会说,如果别人都在抱怨这些规则搞乱.gitignore,让他们出来,而不是把它们放在一个全局排除文件:

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

然后简单地创建和编辑~/.gitignore你的心脏的内容;它将应用于您在该机器上工作的每个git存储库。

+12

您总是可以在'.gitignore'文件中添加'#some comment'行来解释_why_您忽略了什么。评论每一行是有点矫枉过正,但我​​有标有'#IDE(Eclipse)','#OS(Mac OS X)'和'#生成(Perl)'的部分。这样,如果有人想使用不同的操作系统或IDE,他们可以添加一个部分,我们都可以共享。 – 2012-08-29 22:07:01

+4

竖起大拇指为“我个人去尽可能确保我的索引总是干净的,当我不工作的时候(git status应该什么也不显示)” – SGhosh 2013-07-10 17:45:56

+4

Nb。在现代Git中,'core.excludesfile'的默认值为'〜/ .config/git/ignore',符合XDG基本目录规范 – 2014-08-26 18:12:29

-1

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

+10

这并没有回答这个问题:'.gitignore' _ itself_是“'.gitignore''d”吗? – 2013-07-31 19:00:38

+6

注意,_that_不是问题,而且这个**不会回答所问的问题:“将gitignore提交到Git回购是一个好习惯吗?”。 – papercowboy 2013-08-03 10:22:29

+3

@cayuu我相信答案是“这是一个很好的习惯.gitignore”xyz,我不明白它是如何回答这个问题的。问题是如果.gitignore应该是版本控制或不。 – nightograph 2015-03-09 22:07:22

8

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

我通常做一个混合。我喜欢makefile生成.gitignore文件,因为makefile将知道与该项目相关的所有文件 - 衍生或其他。然后,有一个顶级项目.gitignore,您将签入,这会忽略由生成文件为各个子目录创建的生成的.gitignore文件。

所以在我的项目中,我可能会有一个bin子目录和所有的可执行文件。然后,我会让我的makefile为该bin目录生成一个.gitignore。并在顶部目录.gitignore列出bin/.gitignore。顶部是我检查的一个。