Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在不接触分支的情况下强制Git合并冲突?_Git_Github_Git Merge_Merge Conflict Resolution - Fatal编程技术网

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

有没有办法在不接触分支的情况下强制Git合并冲突?,git,github,git-merge,merge-conflict-resolution,Git,Github,Git Merge,Merge Conflict Resolution,情况: 我有一个分支主机和一个分支功能。我想在功能中进行更改并将它们发布给master,其中一些更改被标记为合并冲突 举例来说,假设分支master中有一个文件test.txt,如下所示 foo 功能如下所示 bar zed 我想从feature master创建一个PR,其中一些更改(例如从foo到bar的更改)被标记为合并冲突,必须手动解决。同时,一些变更,如添加zed,没有标记为冲突。基本上,我需要手动干预,在PR关闭之前标记并解决此类冲突,但我不希望审查所有更改 有没有办法做到这一点

情况:

我有一个分支
主机
和一个分支
功能
。我想在
功能中进行更改
并将它们发布给master,其中一些更改被标记为合并冲突

举例来说,假设分支
master
中有一个文件test.txt,如下所示

foo
功能
如下所示

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

有没有办法做到这一点?可能是通过手动将git冲突标记写入功能

有没有办法做到这一点

只有通过制造实际的冲突

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

  • 合并基:其他两个提交从中下降的公共提交,例如
    git merge
    ,或为
    git cherry pick
    git revert
    人工选择的提交
  • 当前提交(
    --我们的
    ,有时是本地的)
  • 另一个提交(有时称为other或remote或
    ——他们的
  • 以下情况下会发生低级(文件中)冲突:

    • 某些文件中存在差异,如从合并基到文件当前副本的
      git diff--find renames
      的输出所示,以及
    • 同一个文件中存在差异,如从合并基到另一个提交的
      git diff--find renames
      的输出所示,以及
    • 这些变化接触相同的线,或以其他方式邻接(一条线的终点是另一条线的起点)
    在这种特殊情况下,当Git尝试组合这两组更改时,更改将发生冲突,您将看到冲突,除非您使用
    -Xours
    -Xtheirs
    从两个冲突的更改中自动选择一个

    (高级冲突也有相同的三个输入,但会在差异的一方修改文件,另一方删除文件时发生。没有一组行存在冲突,但仍然存在冲突:Git应该保留修改过的文件,还是完全删除文件?)



    1任何真正的合并,我指的是合并的过程,或作为动词的合并,都可能有冲突。这里的措辞是为了掩盖这样一个事实,
    git merge
    在执行快进操作时有时不执行合并。

    Hmm好的。因此,合并冲突永远不会发生在#1和#3相同的地方。我想知道是否有一种方法可以进行基本合并,将本质上是不可操作的提交(例如添加空格)推送到master以分离#1和#3以强制合并冲突。您知道Git冲突标记是否有任何语义值(例如,它们是否由Git解析)还是仅仅为了直观地看到冲突在哪里@torekMerge冲突标记对于Git来说在语义上并不重要。事实上,工作树中的内容通常是无关的,除了像
    git add
    (从工作树复制到索引)或
    git diff
    (可以)将提交或索引中的内容与工作树中的内容进行比较)之类的操作。