gpt4 book ai didi

mercurial - 如何更改提交时间(尚未推送)?

转载 作者:行者123 更新时间:2023-12-03 12:36:27 25 4
gpt4 key购买 nike

如何更改在本地存储库中提交的时间?

假设我做了几次提交并注意到我电脑上的日期是错误的。还假设这些提交还没有被推送到任何地方。

最佳答案

使用 hg 的 graftstrip似乎比使用 MQ/patches/evolve 更简单。

用这个方法,你graft您提交到第二个重复分支(同时使用 graft 的日期更改功能)。然后从那里你可以strip返回带有错误日期的分支。例如,您不小心创建了一些日期错误的提交,您的历史记录如下图所示:

> hg log -GT'{rev}:{desc} ({date|isodatesec})'
@ 8:good commit (2018-03-18 20:13:07 2018 -0500)
|
o 7:erroneous commit two (2018-12-01 00:00:00 2018 -0600)
|
o 6:erroneous commit one (2018-12-01 00:00:00 2018 -0600)
|
o 5:commit before you started commiting bad dates

要解决这个问题,只需更新到错误提交之前的最后一个良好修订,然后使用 graft 将提交复制到新的(匿名)分支:
> hg up 5
0 files updated, 0 files merged, 1 files removed, 0 files unresolved
> hg graft -D -r6 -r7 -r8
> hg log -GT'{rev}:{desc} ({date|isodatesec})'
@ 11:good commit (2018-03-18 20:14:48 2018 -0500)
|
o 10:erroneous commit two (2018-03-18 20:14:48 2018 -0500)
|
o 9:erroneous commit one (2018-03-18 20:14:48 2018 -0500)
|
| o 8:good commit (2018-03-18 20:13:07 2018 -0500)
| |
| o 7:erroneous commit two (2018-12-01 00:00:00 2018 -0600)
| |
| o 6:erroneous commit one (2018-12-01 00:00:00 2018 -0600)
|/
o 5:commit before you started commiting bad dates

现在您有两个相同的分支,具有相同的提交但不同的日期。所以现在你只需要使用 strip 返回你的线性历史。在旧分支上:
> hg strip -r6 -r7 -r8
saved backup bundle to /home/miles/repo/.hg/strip-backup/ac1973513844-a8f5244e-backup.hg
> hg log -GT'{rev}:{desc} ({date|isodatesec})'
@ 8:good commit (2018-03-18 20:14:48 -0500)
|
o 7:erroneous commit two (2018-03-18 20:14:48 -0500)
|
o 6:erroneous commit one (2018-03-18 20:14:48 -0500)
|
o 5:commit before you started commiting bad dates

关于mercurial - 如何更改提交时间(尚未推送)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/585258/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com