git 如何merge两个分支,将 A merge到master上。一旦发生冲突,所有内容均采用master分支,该如何实现?

在这里插入代码片

Git 合并分支并优先采用 master 分支内容

要将 TMP 分支合并到 master 分支,并在发生冲突时全部采用 master 分支的内容,你可以使用以下步骤:

方法一:使用 -X ours 选项

# 首先切换到 master 分支
git checkout master

# 然后执行合并,使用 -X ours 选项表示冲突时采用当前分支(master)的内容
git merge TMP -X ours

方法二:使用 ours 合并策略

# 切换到 master 分支
git checkout master

# 使用 ours 策略合并
git merge -s ours TMP

区别说明

  • -X ours(方法一)会在真正发生冲突时采用当前分支的内容,但会尝试自动合并不冲突的部分
  • -s ours(方法二)会完全忽略要合并的分支内容,直接使用当前分支的状态

根据你的需求"一旦发生冲突,所有内容均采用master分支",方法一 (-X ours) 更符合要求,因为它只会在冲突时采用 master 的内容,而非完全忽略 TMP 分支的所有更改。

验证合并结果

合并完成后,建议检查合并结果是否符合预期:

git diff HEAD^ HEAD  # 查看合并引入的更改

如果发现有任何不符合预期的合并结果,可以使用 git merge --abort 取消合并并重新尝试。

你可能感兴趣的:(git)