我正在使用Unix Shell脚本来自动化git操作,并且在特定的合并操作上需要一些帮助。
假设我要合并两个分支-分支A和B 而且,我正在脚本中做类似的事情
git checkout A; git merge -X theirs--no-ff --no-commit B
分支B中存在一个文件(9.sql),但是在分支A中已将其删除。
当我执行上述命令时,它说已经是最新的,但是当我进行反向合并时,该文件将从分支B中删除。
我的问题是,即使我使用-X他们的,分支B的文件也不会添加到分支A,这是必需的。
我该怎么办?
答案 0 :(得分:1)
为此,大概文件存在于共同祖先中,从未在分支B上更改过,而在分支A上删除过。
在这种情况下,您实际上并不需要使用for-in
作为解决冲突的选项的递归合并。也就是说,
theirs
表示将默认递归策略与选项 theirs 一起使用。等同于
git merge -X theirs
您真正想要的是使用其他策略,例如:
git merge -s recursive -X theirs
不幸的是不存在。
如果您要假装合并发生,但确实使树与B相同,则可以这样做。如果没有,我不确定您希望得到什么样的结果。