Git忽略文件的某些部分
有没有办法避免在合并分支时忽略文件的某些部分 i、 e。 config.ini(刚刚发明),假设我不能生成config.dev.ini、config.test.ini,并且在所有分支中我只有config.ini文件 在config.ini中,我们有Git忽略文件的某些部分,git,git-merge,Git,Git Merge,有没有办法避免在合并分支时忽略文件的某些部分 i、 e。 config.ini(刚刚发明),假设我不能生成config.dev.ini、config.test.ini,并且在所有分支中我只有config.ini文件 在config.ini中,我们有'environment=dev/test/prod1..其中一个 每次从dev合并到test/master时,config.ini上都会发生冲突,并将环境更改为dev或test或。。基于源分支 是否有一种方法可以忽略冲突检测中的这一部分,但仍要考虑其
'environment=dev/test/prod1..
其中一个
每次从dev合并到test/master时,config.ini上都会发生冲突,并将环境更改为dev或test或。。基于源分支
是否有一种方法可以忽略冲突检测中的这一部分,但仍要考虑其他行。我的问题是反对SCM基金会吗?我们可以完全忽略文件,为什么不能部分忽略
我不想把它放在.gitignore中。我只是举了这个config.ini的例子。然而,在一些文件中有一些部分我正试图避免其他开发人员覆盖它。不完全忽略文件。当然,对于config.ini,可以生成一个编程解决方案,但我想知道一般情况下是否存在这样的解决方案。不,没有一种方法可以轻松做到这一点。您可以使用自定义合并驱动程序并将其连接到
.gittributes
,但这意味着您必须编写自定义合并实现,并要求每个用户在其系统上安装它,这很麻烦,而且您使用的任何托管平台都不会使用它
Git列表上已经有人问过这一点,答案基本上是“不要那样做”。您所要求的与类似,但更一般地说,答案是您应该执行以下操作之一:
- 使用不同的文件,并根据环境使用脚本将其中一个文件复制到忽略的位置
- 使用脚本从每个系统上的模板生成配置文件
- 使用环境中的配置,这是一种最佳实践
-SNAPSHOT
保留关键字工件,则该工件将转到snapshots repo,因此该工件必须仅存储在dev分支中的pom.xml中。如果错误地删除了它,开发人员从它的本地部署—考虑到他正在将工件推送到开发人员的repo—它就可以发布了!正如您所建议的,开发人员自己的选项,如.pref
文件,我们已经忽略了。另一件事,我在解决冲突时解决了该部分。为什么每次合并都会重复。必须清楚,我不想在那个分支机构中扮演那个角色。