你认为将.gitignore提交到Git回购中是一个好的实践吗?
有些人不喜欢它,但我认为它很好,因为你可以跟踪文件的历史。不是吗?
你认为将.gitignore提交到Git回购中是一个好的实践吗?
有些人不喜欢它,但我认为它很好,因为你可以跟踪文件的历史。不是吗?
通常是的,.gitignore对于想要使用存储库的每个人都是有用的。有时,您可能想要忽略更私密的东西(可能您经常创建LOG或其他东西)。在这种情况下,你可能不想把它强加给其他人。
你通常会犯错。gitignore。事实上,当我不工作时,我个人会确保我的索引总是干净的。(git状态应该什么都不显示。)
在某些情况下,您希望忽略与项目无关的内容。例如,你的文本编辑器可能会自动创建*~备份文件,或者另一个例子是OS X创建的. ds_store文件。
我想说的是,如果其他人抱怨这些规则把你的.gitignore弄得乱七八糟,把它们去掉,而是把它们放在一个全局的排除文件中。
默认情况下,这个文件位于$XDG_CONFIG_HOME/git/ignore(默认为~/.config/git/ignore),但是这个位置可以通过设置内核来改变。excludesfile选项。例如:
git config --global core.excludesfile ~/.gitignore
只需创建和编辑全局排他文件到您的心脏的内容;它将应用于您在该机器上工作的每个git存储库。
我把commit .gitignore,这是对其他可能构建我的项目的人的礼貌,下面的文件是派生的,应该忽略。
我通常做混合动力车。我喜欢让makefile生成.gitignore文件,因为makefile将知道与项目派生或其他相关的所有文件。然后签入一个顶级项目.gitignore,它将忽略由makefile为各个子目录创建的生成的.gitignore文件。
所以在我的项目中,我可能有一个bin子目录,其中包含所有构建的可执行文件。然后,我将让我的makefile为该bin目录生成一个.gitignore。在顶部目录。gitignore中列出了bin/.gitignore。上面那个是我登记入住的。
提交.gitignore可能非常有用,但你要确保以后不要修改太多,特别是如果你经常在分支之间切换的话。 如果你这样做了,你可能会遇到这样的情况:在一个分支中文件被忽略,而在另一个分支中却没有,迫使你手动删除或重命名工作目录中的文件,因为签出失败了,因为它会覆盖一个未跟踪的文件。
因此,是的,提交你的.gitignore,但不是在你合理地确定它之后不会有太大变化之前。
对我来说,我认为将.gitignore文件提交到存储库是一个好主意。当有人克隆你的存储库并构建项目,或运行一些生成垃圾数据的测试时,可能不需要推送它.. gitignore文件只是忽略其中配置的文件。