可重复的git樱桃挑选

时间:2015-01-10 14:24:18

标签: git git-cherry-pick

git cherry-pick并不是幂等的,因为在挑选之后提交哈希取决于当前时间和当前用户(作为提交者)。

我希望有幂等性,这意味着两倍的序列:

git reset --hard BASE-COMMIT
git cherry-pick INTERESTING-COMMIT

然后再次:

git reset --hard BASE-COMMIT
git cherry-pick INTERESTING-COMMIT

两次都会在HEAD中产生完全相同的提交哈希值。

有没有办法告诉git重用原始提交中的提交者名称和提交者日期?

1 个答案:

答案 0 :(得分:3)

您可以在签入樱桃选择时修改提交日期。例如:

git reset --hard BASE-COMMIT
export GIT_COMMITTER_DATE=$(git log -1 --format='%ct' INTERESTING-COMMIT)
git cherry-pick INTERESTING-COMMIT

这假设用户也是稳定的,否则您还需要设置GIT_COMMITTER_NAMEGIT_COMMITTER_EMAIL,如下所示:

export GIT_COMMITTER_NAME=$(git log -1 --format='%cn' INTERESTING-COMMIT)
export GIT_COMMITTER_EMAIL=$(git log -1 --format='%ce' INTERESTING-COMMIT)