繁体   English   中英

有没有办法在不接触分支的情况下强制Git合并冲突?

[英]Is there any way to force a Git merge conflict without touching branches?

情况:

我有一个分支master和一个分支feature 我想对feature进行更改并将其PR掌握,以将某些更改标记为合并冲突。

为了说明这一点,假设分支master有一个文件test.txt这样。

foo

Feature看起来像这样

bar
zed

我想从要素主创建一个PR,其中某些更改(例如,从foo到bar的更改)被标记为合并冲突,必须手动解决。 同时,某些更改(例如添加zed)未标记为冲突。 本质上,在关闭PR之前,我需要对此类冲突进行标记并解决的手动干预,但我不希望所有更改都得到审查。

有什么办法吗? 可能通过手动将git冲突标记写入功能?

有什么办法吗?

仅通过创建实际冲突。

可能有冲突的合并1具有三个输入:

  1. 合并基础:例如,对于git merge ,其他两个提交从其降级的公共提交,或者对于git cherry-pickgit revert ,是人为选择的提交;
  2. 当前提交HEAD--ours ,有时是local );
  3. 其他提交(有时称为otherremote--theirs )。

在以下情况下发生低级(文件中)冲突

  • 从合并基础到文件的当前副本的git diff --find-renames输出中看到的某些文件有所不同, 并且
  • 从合并基础到另一个提交的git diff --find-renames输出中看到的相同文件中git diff --find-renames并且
  • 这些变化触及相同的线条,或者以其他方式邻接(一个的结尾是另一个的开头)。

在这种特殊情况下,当Git尝试合并两组更改时,更改将发生冲突,并且您会看到冲突,除非您使用-Xours-Xtheirs自动从两个冲突的更改中选择一个。

(高级冲突也具有相同的三个输入,但是发生在例如diff的一侧修改文件,而另一侧删除文件时。没有冲突的线集,但是仍然存在冲突:Git应该保留修改后的文件,还是完全删除文件?)


1任何真正的合并(我指的是合并过程或作为动词合并的过程)都可能有冲突。 此处的措辞旨在说明git merge在执行快进操作时有时不执行合并的事实。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM