我理解正确吗?当cherry选择提交时,提交哈希id和提交日期将会改变,但AuthorDate
仍然与之前的提交相同。
如果1为真,那么在挑选樱桃时如何更新AuthorDate
?
答案 0 :(得分:2)
是:新提交是新提交,因此它必须具有不同的哈希ID。 (现有提交仍保留在存储库中。)由于它是一个新提交,Git会将您的名称指定为提交者,并将“now”(或计算机对“now”的最佳猜测)指定为新提交的时间。
同时,git commit
检查文件CHERRY_PICK_HEAD
是否存在,以查看提交是否归因于挑选。如果是这样,Git将从原始提交中提取原始作者和作者日期。
如果您提供--reset-author
作为命令行标记,git commit
会将作者重置为您自己,或者为您指定的任何人重置。您也可以通过这种方式指定作者日期。
git cherry-pick
命令不会将--reset-author
传递给git commit
,所以在某种程度上,您不能。但是你可以做两件事。我们暂时退出这个一项一次的回顾。
如果您运行git cherry-pick -n
而不是git cherry-pick
,则cherry-pick命令将无法运行git commit
。你必须自己运行它。您可以使用--reset-author
运行它,从而以这种方式调整作者。
或者,运行git cherry-pick
并让它构建提交,您可以运行git commit --amend --reset-author
。这会将现有提交复制到另一个新提交,其父级是现有提交的父级。新提交将您(或您指定的任何人)作为作者。
请注意,“修改”提交确实会复制它! git cherry-pick
提交的提交仍保留在存储库中;它只是“推开”,所以你不会看到它,你不会发送给git push
的任何人。这个额外提交的成本非常低(基本上是一段时间内的一个最小尺寸文件),因此没有充分的理由选择git cherry-pick -n
而不是git commit --amend --reset-author
。