题
我在专有的脚本语言开发具有非常恢复,其中大多数配置包含在代码本身内部码。
最明显的问题是在测试和生产环境之间的代码本身的差异,这正是我试图用GIT来管理。
由于我的测试ENV挥发性很强我想我可以为它创建于GIT分支,同时也有被改动的地方(并保持代码在那里测试配置)和密码已被接受后,我把它合并到生产中。
好了,当我问git的合并我的树枝,它的代码了出色的工作..但CONFIGS被迁移,以及比我要打开的文件,通过文件,改变它回到它是什么。
反正我能从GIT和威胁都禁用自动合并为代码冲突是手动的WinMerge或某事后来合并?该代码是短暂的,真的。而且因为我要去必须编辑也无妨应用配置...
PS:请注意,我不问如何在git的配置的WinMerge。我有这些工具的工作。我的问题是如何总是分支之间执行手动合并。
谢谢!
F。
解决方案
禁用自动合并
这可以通过编写一个小合并司机,在一个.gitattributes
文件设定实现。点击
像unset
策略可能是你在找什么。
Unset
从当前分支作为暂定的合并结果采取版本,并宣布该合并具有冲突。 这适合于不具有明确定义的语义合并二进制文件。
但是另一个有趣gitattribute驱动器将是一个清洁过滤器:
这会自动只是犯了“清洁”的内容,以回购之前执行你所选择的“干净”的剧本。结果
这样的“clean
”脚本可以帮助您自动您必须对您的代码,以保持或修改嵌在它的配置值的变化。
其他提示
您说“大部分的配置都包含代码本身范围内”,但希望所有配置文件中的特定隔离配置。如果是这样的话,你可以保持配置代码的测试和发布的情况下在同一分支。然后可以使用一个命令行开关使用测试配置,而不是正常的一个。
如果您的程序可以读取命令行(或环境变量,注册表项,文本文件或其他)的配置选择,那么你就不必合并的。该程序可以忽略测试配置文件时,命令行开关不存在,而忽视了释放配置时命令行开关是存在的。
这在合并过程中节省您从可能的错误,以及所花费的时间做了合并。