按当前日期和时间的提交顺序推送到远程 git 提交?

Push to remote git commits in commit order with current date and time?

有没有一种简单的方法可以在本地管理许多 git 提交,然后按照它们的创建顺序单独推送,并且在我推送时将日期和时间设置为每次提交的当前日期时间?

原始顺序和在不同时间单独执行的能力很重要。

如果解决方案有意义,我也愿意在 git 项目之上使用等效的代码版本控制工具。目标是尽可能减少压力。

您可以按照您需要的时间表照常提交您的分支机构。然后,在推送到原点之前,你可以做一个交互式的变基:

git rebase -i <first commit hash>

例如,git rebase -i HEAD~10.

这将打开一个文本编辑器(Vim 可能),您可以在其中 select 提交并使用 edit/[= 更改默认的 pick 选项14=] 编辑要修改日期的提交。

完成后,您可以关闭 rebase 编辑器,然后 git 将逐个提交,让您可以选择编辑它们中的每一个。对于第一个,你可以这样做:

git commit --amend --date "April 5th 2020 13:00"

然后 git rebase --continue 进入下一次提交。然后下一个,再下一个……直到你完成。

在那之后,你可以git push到你的原始分支,或者如果你之前推送过,则强制推送。

当然,这很繁琐,所以你也可以压缩提交来减少这项工作。