&引用;git cherry pick“;加上“;冲突:;提交消息的行

&引用;git cherry pick“;加上“;冲突:;提交消息的行,git,version-control,cherry-pick,Git,Version Control,Cherry Pick,每当我使用git cherry pick并且存在冲突时,在解决冲突并运行git cherry pick--continue之后,提交消息会添加一个冲突:部分,如下所示: <The original commit message> Conflicts: <path of first file that had a conflict> ... <path of last file that had a conflict> # The u

每当我使用
git cherry pick
并且存在冲突时,在解决冲突并运行
git cherry pick--continue
之后,提交消息会添加一个
冲突:
部分,如下所示:

<The original commit message>

Conflicts:
    <path of first file that had a conflict>
    ...
    <path of last file that had a conflict>

# The usual comment with instructions

冲突:
...
#通常的注释和说明
冲突:
部分没有注释掉,因此如果保持不变,它将成为提交的实际提交消息的一部分

关于这一点,有两个问题:

  • 为什么本节有用?如果我解决了冲突,为什么它们存在的事实是相关的

  • 有没有办法禁用此行为?我觉得每次都要手动删除该部分很烦人

  • 编辑:由于一条评论表明行为可能取决于git的版本:我正在使用git 2.1.4,这是Debian stable存储库中的版本。

    有关您的问题:

  • 这主要是因为现在仍然有冲突。您可以使用
    git status
    进行检查。如果存在冲突,您应该修改并保存冲突文件,然后使用
    git add.
    git commit
    。您还可以将git更新到最新版本

  • 是的,您可以使用
    -X
    自动解决冲突。例如
    git cherry pick SHA-X[我们的|他们的]
    <代码>我们的表示保留来自当前分支的更改,
    他们的
    表示保留来自SHA的更改


  • 如前所述,即使在解决了所有冲突之后,我仍然可以看到此部分。您是否在
    git cherry pick之前使用了
    git add.
    ?是否继续?是的,对于每个冲突路径,可以使用
    git add.
    git add.
    。因为所有冲突文件都被
    git add
    标记为解决冲突,这意味着你可以继续樱桃采摘。因此,您收到的消息可能是由不同的git版本引起的。我使用Git2.10.1,它不显示消息。git的较新版本将这些行放在注释部分,因此它们不会成为消息的一部分。这些行记录哪些文件有冲突。当您想知道合并过程中发生了什么时,它可能会很有用。