Git合并以处理已删除的文件

时间:2018-10-08 15:23:26

标签: git

我正在使用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,这是必需的。

我该怎么办?

1 个答案:

答案 0 :(得分:1)

为此,大概文件存在于共同祖先中,从未在分支B上更改过,而在分支A上删除过。

在这种情况下,您实际上并不需要使用for-in作为解决冲突的选项的递归合并。也就是说,

theirs

表示将默认递归策略与选项 theirs 一起使用。等同于

git merge -X theirs

您真正想要的是使用其他策略,例如:

git merge -s recursive -X theirs

不幸的是不存在。

如果您要假装合并发生,但确实使树与B相同,则可以这样做。如果没有,我不确定您希望得到什么样的结果。

相关问题