git cherry pick时如何更新时间

git cherry pick时如何更新时间,git,Git,我理解正确吗?当cherry选择提交时,提交哈希id和提交日期将更改,但AuthorDate与上一次提交保持相同 如果1为真,我如何在cherry pick时也更新AuthorDate 是:新提交是一个新提交,因此它必须有一个不同的哈希ID(现有提交保留在存储库中)。由于它是一个新提交,Git将指定您的名字作为提交者,并将“现在”(或计算机对“现在”的最佳猜测)作为新提交的时间 同时,git commit检查文件CHERRY\u PICK\u HEAD是否存在,以查看提交是否由于CHERRY P

我理解正确吗?当cherry选择提交时,提交哈希id和提交日期将更改,但
AuthorDate
与上一次提交保持相同

  • 如果1为真,我如何在cherry pick时也更新
    AuthorDate

  • 是:新提交是一个新提交,因此它必须有一个不同的哈希ID(现有提交保留在存储库中)。由于它是一个新提交,Git将指定您的名字作为提交者,并将“现在”(或计算机对“现在”的最佳猜测)作为新提交的时间

    同时,
    git commit
    检查文件
    CHERRY\u PICK\u HEAD
    是否存在,以查看提交是否由于CHERRY PICK。如果是这样,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
    运行它,从而以这种方式调整author

    或者,运行
    git cherry pick
    并让它构建提交,您可以运行
    git commit--amend--reset author
    。这会将现有提交复制到另一个新提交,其父级是现有提交的父级。新提交将您(或您指定的任何人)作为作者

    请注意,“修改”提交确实会复制它!git cherry pick所做的提交仍保留在存储库中;它只是“被推到一边”,这样你就看不到它,也不会用git-push将它发送给任何人。这个额外提交的成本很低(基本上一段时间内只有一个最小大小的文件),因此没有充分的理由选择
    git cherry pick-n
    而不是
    git commit--amend--reset author