How to Conclude a Git Cherry-Pick?

前端 未结 5 1231
猫巷女王i
猫巷女王i 2021-01-01 08:41

Yesterday I cherry-picked two commits into my main branch, one of them caused merge conflicts and I resolved them, committed and pushed them to origin. Today I am attempting

5条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2021-01-01 09:05

    Since my previous answer from 2014, the proper command nowadays (2018) is git cherry-pick --quit.
    And before Git 2.19 (Q3 2018), "git cherry-pick --quit" failed to remove CHERRY_PICK_HEAD even though we won't be in a cherry-pick session after it returns, which has been corrected.

    See commit 3e7dd99 (16 Aug 2018) by Nguyễn Thái Ngọc Duy (pclouds).
    (Merged by Junio C Hamano -- gitster -- in commit 39e415c, 20 Aug 2018)

    cherry-pick: fix --quit not deleting CHERRY_PICK_HEAD

    --quit is supposed to be --abort but without restoring HEAD.
    Leaving CHERRY_PICK_HEAD behind could make other commands mistake that cherry-pick is still ongoing (e.g. "git commit --amend" will refuse to work). Clean it too.

    For --abort, this job of deleting CHERRY_PICK_HEAD is on "git reset" so we don't need to do anything else. But let's add extra checks in --abort tests to confirm.

提交回复
热议问题