如何在冲突时使用“他们的”合并 git 中的分支
How to merge branch in git using `their` when in conflict
我有一个 master
生产分支和一个 qa
测试分支。
当我开发一个新功能时,我从 master 创建一个新分支(例如 new_branch),将其用于开发并将其合并到 qa 进行测试。
我使用以下 git 别名:
myc = "!f() { git commit -a -m && git checkout qa && git merge && git push origin qa && git checkout ; }; f"
此策略允许我合并到质量检查团队批准的仅主控功能中。
在我的代码中,我有一个 define.inc.php
,我在其中设置了一个 define('_STATIC_VER_', '20');
此计数器自动附加到所有静态 css、js 文件,例如:
/themes/css/global.css?sv=20
因此,每当我更改 css 文件时,我都会增加 SV 计数器,从而强制浏览器重新加载所有静态文件。
问题是 - 当我在开发中有 2 个分支 n1、n2,并且都对 define.inc.php
进行了更改时,我得到
CONFLICT (content): Merge conflict in config/defines.inc.php
我必须手动选择 their
版本的 `define.inc.php'
如何改进我的别名命令以在发生冲突时始终使用 their
?
注意:git merge --strategy-option theirs
没有解决问题
git merge -s recursive -X theirs
应该可以解决问题。
当存在冲突时,它总是采用 "incoming" 分支更改 ,但对于所有其他情况
表现为经典合并
cmd 的完整别名是:
myc = "!f() { git commit -a -m && git checkout qa && git merge -s recursive -X theirs && git push origin qa && git checkout ; }; f"
我有一个 master
生产分支和一个 qa
测试分支。
当我开发一个新功能时,我从 master 创建一个新分支(例如 new_branch),将其用于开发并将其合并到 qa 进行测试。
我使用以下 git 别名:
myc = "!f() { git commit -a -m && git checkout qa && git merge && git push origin qa && git checkout ; }; f"
此策略允许我合并到质量检查团队批准的仅主控功能中。
在我的代码中,我有一个 define.inc.php
,我在其中设置了一个 define('_STATIC_VER_', '20');
此计数器自动附加到所有静态 css、js 文件,例如:
/themes/css/global.css?sv=20
因此,每当我更改 css 文件时,我都会增加 SV 计数器,从而强制浏览器重新加载所有静态文件。
问题是 - 当我在开发中有 2 个分支 n1、n2,并且都对 define.inc.php
进行了更改时,我得到
CONFLICT (content): Merge conflict in config/defines.inc.php
我必须手动选择 their
版本的 `define.inc.php'
如何改进我的别名命令以在发生冲突时始终使用 their
?
注意:git merge --strategy-option theirs
没有解决问题
git merge -s recursive -X theirs
应该可以解决问题。
当存在冲突时,它总是采用 "incoming" 分支更改 ,但对于所有其他情况
表现为经典合并cmd 的完整别名是:
myc = "!f() { git commit -a -m && git checkout qa && git merge -s recursive -X theirs && git push origin qa && git checkout ; }; f"