4

真诚地,我不知道如何完美地表达一切,但让我们试试吧。

我正在尝试 git cherry-pick 进入我的远程分支(比如说 sv/abc),例如:

    git cherry-pick b965749428dd3ec934614364d73158ac0bc121f8

起初,我收到以下错误消息:

    error: could not apply b965749... Changes 123
    hint: after resolving the conflicts, mark the corrected paths
    hint: with 'git add <paths>' or 'git rm <paths>'
    hint: and commit the result with 'git commit -c b965749'
    myAccount$ git status
    # On branch sv/abc
    # Unmerged paths:
    #   (use "git reset HEAD <file>..." to unstage)
    #   (use "git add/rm <file>..." as appropriate to mark resolution)
    #
    #       both modified:      fileA
    #       both modified:      fileB
    #
    no changes added to commit (use "git add" and/or "git commit -a")

因此,我继续通过以下方式更改解决两个文件中的冲突:

Vim 文件
Remove<<<<<<HEAD
删除所有内容之间>>>>> xxx========包括

然后git add <file> 这是奇怪的部分,当我再次发出 git status 时,它似乎没有准备好提交,我的意思是没有上演

然后git commit -c b965749说没有什么可承诺的

然后git push说它已经是最新的了

然后我所做的就是重新尝试一切,但这一次,发出git reset <file>

好吧,这次它很神奇,但我面临的新问题是这个哈希标签以前是由不同的作者提交的。当我发布时git push,我收到“无效作者”的错误消息

我怎么从这里走?

4

2 回答 2

0

您通过删除所有更改解决了冲突。因此,git status确定此文件在结果提交中应保持不变,因此它变为未暂存。当您对所有文件执行此操作时,提交变为空,因此没有必要记录它。

您要求对提交进行挑选,但不整合其任何更改,那么您为什么首先挑选提交呢?

于 2013-08-14T10:12:48.380 回答
0

当您执行删除部分时,您正在删除更改,因此文件与开始合并时一样,因此没有更改。

我你真的想在你的存储库中进行合并提交,你可以执行 git commit --allow-empty 因为你的提交没有进行任何更改。

于 2013-08-14T11:20:03.100 回答