当前位置:  开发笔记 > 开发工具 > 正文

如何在git中处理跟踪生成的文件?

如何解决《如何在git中处理跟踪生成的文件?》经验,为你挑选了1个好方法。

背景:

我们已经在我们的系统中生成了需要在最终状态下提交的文件(例如,我们不能依赖源(未生成的)文件并在运行中生成生成的文件).由于我们需要生成的文件,因此无法忽略这些文件.

问题:

这些文件Your local changes to the following files would be overwritten by merge在checkout和pull命令中从git 触发了很多错误.

当我拉或结账时,我从不关心我的文件是什么,我只关心新文件.(显然我非常关心生成文件的源文件.我很高兴源文件上的合并警告,它保存在不同的目录中.)

但是,当我提交时,我希望我的版本"赢"并生成我生成的文件.

可能的方法:

现在我只是git checkout -- generated-files/在拉或结账之前运行以重置我生成的文件并跳过任何合并错误.它有效,但我经常忘记这样做,如果可能的话我想自动化它.

我看了一个预检验和预拉钩,但git不提供它们:(

问题:

有没有更好的方法来处理生成的文件?

是否有办法强制在git checkout -- generated-files/拉或结账前运行?

你如何处理git中生成的文件?

Makoto.. 6

我个人的口头禅:如果可以生成文件,则只有可以生成文件的部分才受源代码管理。否则,您会遇到很多现在遇到的噪音。

如果生成的文件是真实的,可重复的,可重复的步骤,并且是构建链的一部分,则可以安全地将它们所在的目录添加到.gitignore文件中(并且不要忘记将git rm --cached其保存到文件夹中,这样就不会再对其进行跟踪了)。

如果生成的文件实际源代码的一部分,则应该在团队成员和/或潜在客户之间进行对话,并讨论如果这些文件的生成是自动的,则为什么要对这些文件进行修订。可能有合理的理由要与他们保持联系,而也许没有,至少值得一问。

我的建议是忽略生成的任何文件,并将其保留在Git中。但是,您需要与队友交谈,看看这是否是每个人都希望遵守的惯例。



1> Makoto..:

我个人的口头禅:如果可以生成文件,则只有可以生成文件的部分才受源代码管理。否则,您会遇到很多现在遇到的噪音。

如果生成的文件是真实的,可重复的,可重复的步骤,并且是构建链的一部分,则可以安全地将它们所在的目录添加到.gitignore文件中(并且不要忘记将git rm --cached其保存到文件夹中,这样就不会再对其进行跟踪了)。

如果生成的文件实际源代码的一部分,则应该在团队成员和/或潜在客户之间进行对话,并讨论如果这些文件的生成是自动的,则为什么要对这些文件进行修订。可能有合理的理由要与他们保持联系,而也许没有,至少值得一问。

我的建议是忽略生成的任何文件,并将其保留在Git中。但是,您需要与队友交谈,看看这是否是每个人都希望遵守的惯例。

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有