将 git 合并与递归策略一起使用时,是否可以无冲突覆盖更改?



准确地说,我正在使用Git(GitLab(管理我公司项目的源代码。两个开发人员处理项目,为每个任务创建一个分支,然后创建一个合并请求。我主要通过 UI 直接合并这些内容,这应该与在命令行中执行此操作相同:

git checkout master
git merge --no-ff 1224-cool-feature-branch

我不时看到页面的小功能或部分消失。

考虑以下情况

  • dev A 从 ab12 的主分支 -> 新的分支名称FeatureA
  • dev B 从 ab12 的主分支 ->新的分支名称FeatureB
  • 开发 A 更改foobar.txt并提交到FeatureA
  • FeatureA 使用默认递归策略merge --no-ff合并到主节点中
  • 开发 B 更改foobar.txt并提交到功能 B
  • 特征 B 使用默认递归策略合并到主merge --no-ff
  • ,没有冲突

是否有可能覆盖FeatureAfoobar.txt所做的更改而不会产生冲突?

我相信答案是"不"。该文件使用传统的 3 路合并进行合并,如果它们彼此相距足够远或报告冲突,则应应用更改,没有其他选择。

这种方法可能存在一些问题,例如参见 http://r6.ca/blog/20110416T204742Z.html,但我无法想象任何极端情况如何导致静默编辑反转。

最新更新