Should you commit .gitignore into the Git repos?
你认为将.gitignore变成Git仓库是一种好习惯吗?
有些人不喜欢它,但我认为它很好,因为你可以跟踪文件的历史记录。 不是吗?
-
如果不是,请将.gitignore放入.gitignore ...
-
可能重复忽略.gitignore文件本身
通常是的,.gitignore对于想要使用存储库的每个人都很有用。有时候你会想要忽略更多私人事物(也许你经常会创建LOG或者其他东西。在这种情况下你可能不想强迫其他人。
-
+1适当时,可以在$GIT_DIR/info/exclude或~/.gitconfig文件中提及"私事"。
-
如果您已经签入了一个文件,并且想要忽略它,那么如果稍后添加规则,Git将不会忽略该文件。在这些情况下,您必须首先在终端中运行以下命令来解除文件:git rm --cached FILENAME
您通常会提交.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存储库。
-
您始终可以将# some comment行添加到.gitignore文件中,以解释您忽略某些内容的原因。评论每一行有点矫枉过正,但我??有标有# IDE (Eclipse),# OS (Mac OS X)和# Generated (Perl)的部分。这样,如果有人想要使用不同的操作系统或IDE,他们可以添加一个部分,我们都可以共享。
-
竖起大拇指"我个人认为,当我不做某事时,确保我的索引始终是干净的。(git status应该没有显示任何内容。)"
-
铌。使用现代Git,core.excludesfile的默认值是~/.config/git/ignore,符合XDG基本目录规范
-
全局.gitignore的+1 - 当您工作的人不同意推送的.gitignore文件的内容或者是否应该推送它们时非常有用,并且我们都使用大量产生不同类型噪声的不同开发环境。
-
davidwalsh.name/global-gitignore有关全局忽略的更多信息
我把提交.gitignore,这是对其他可能构建我的项目的人的礼貌,以下文件是派生的,应该被忽略。
我经常做混合动力。我喜欢让makefile生成.gitignore文件,因为makefile将知道与项目相关的所有文件 - 来源或其他。然后有一个你签入的顶级项目.gitignore,它将忽略makefile为各个子目录创建的生成的.gitignore文件。
所以在我的项目中,我可能有一个包含所有构建的可执行文件的bin子目录。然后,我将让我的makefile为该bin目录生成一个.gitignore。并在顶部目录.gitignore中列出bin / .gitignore。最上面一个是我签到的那个。
.gitignore至少是您的构建产品(程序,* .o等)是一个好习惯。
-
这没有回答这个问题:.gitignore本身应该是".gitignore'd"吗?
-
注意,这不是问题,这确实回答了问题:"将[.gitignore提交到Git仓库中是一种很好的做法吗?")。
-
@cayuu我相信答案说"这是一个很好的做法.gitignore"xyz,我不知道它是如何回答这个问题的。问题是.gitignore是否应该受版本控制。
-
@nightograph ZING!你先生是对的。