4

すべてを完璧に表現する方法はわかりませんが、試してみましょう。

たとえば、チェリーピックを私のリモートブランチ(sv/abcとしましょう)にgitしようとしています:

    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
削除<<<<<<HEAD
する>>>>> xxx========

次にgit add <file> 、奇妙な部分があります。git status を再度発行すると、コミットする準備ができているようには見えません。つまり、何もステージングされていないということです。

その後、git commit -c b965749コミットするものは何もないと述べた

その後git push、すでに最新であると述べました

それから私がしたことは、すべてをもう一度やり直すことですが、今回は、git reset <file>

今回はうまくいきましたが、私が直面している新しい問題は、このハッシュタグが以前に別の作成者によってコミットされたことです。を発行するとgit push、「無効な作成者」というエラー メッセージが表示されます

ここからどうやって行くの?

4

2 に答える 2

0

削除部分を実行しているときは、変更を削除しているため、ファイルはマージを開始したときと同じであるため、変更はありません。

リポジトリにマージコミットが本当に必要な場合は、コミットが変更を加えていないため、 git commit --allow-empty を実行できます。

于 2013-08-14T11:20:03.100 に答える