使用git merge和递归策略时,可以改变无冲突吗?

时间:2017-08-02 06:27:38

标签: git merge gitlab

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

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

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

考虑以下案例

  • Dev A ab12的主人分支 - >新的branchname FeatureA
  • Dev B从ab12的主人那里分支 - >新的branchname FeatureB
  • Dev A更改foobar.txt并提交至FeatureA
  • 使用默认递归策略
  • ,使用merge --no-ff将FeatureA合并为master
  • Dev B更改foobar.txt并提交到功能B
  • 使用默认的递归策略使用merge --no-ff将FeatureB合并到主服务器中,而不会发生冲突

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

1 个答案:

答案 0 :(得分:1)

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

这种方法可能存在一些问题,例如http://r6.ca/blog/20110416T204742Z.html,但我无法想象任何一个角落案例会导致静默编辑反转。