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

How*_*ard 467 git gitignore

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

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

Bru*_*ens 461

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

  • +1适当时,可以在`$ GIT_DIR/info/exclude`或`〜/ .gitconfig`文件中提及"私有事物". (132认同)
  • 如果您已经签入了文件,并且想忽略它,那么以后再添加规则时,Git将不会忽略该文件。在这种情况下,必须首先在终端中运行以下命令来取消跟踪文件:git rm --cached FILENAME (4认同)

Sté*_*hen 130

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

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

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

git config --global core.excludesfile ~/.gitignore
Run Code Online (Sandbox Code Playgroud)

然后简单地创建和编辑$XDG_CONFIG_HOME/git/ignore你的内心; 它将适用于您在该计算机上工作的每个git存储库.

  • 你总是可以在`.gitignore`文件中添加`#some comment`行来解释_why_你忽略了什么.评论每一行都有点矫枉过正,但我​​的章节标有"#IDE(Eclipse)`,`#OS(Mac OS X)`和`#Generated(Perl)`.这样,如果有人想要使用不同的操作系统或IDE,他们可以添加一个部分,我们都可以共享. (14认同)
  • 竖起大拇指"我个人认为,当我不做某事时,确保我的索引始终是干净的.(git status应该没有显示任何内容.)" (9认同)
  • 铌.使用现代Git,`core.excludesfile`的默认值是`〜/ .config/git/ignore`,符合XDG基本目录规范 (4认同)

Bit*_*iot 11

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

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

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