我已经重新组织了一个分支中的提交,然后它将被公开,导致提交的时间戳处于混合顺序.我宁愿让他们今天只有几秒钟.
显然,这些时间戳也不正确,但由于这是事情上市的时候,我更喜欢在时间上混淆历史.
那么如何告诉git在重新定位时创建新的时间戳?
Mic*_*ker 114
git rebase --ignore-date
Run Code Online (Sandbox Code Playgroud)
lkr*_*aav 26
在我的情况下,将时间戳更改为CommitDate值,因此在gitweb中,一堆几个月的提交显示为4天之久.我找到了最后一次提交正确的日期,并做了:
$ git rebase --committer-date-is-author-date SHA
Run Code Online (Sandbox Code Playgroud)
Uma*_*har 19
有以下几种方式
正常变基
git rebase --ignore-date
Run Code Online (Sandbox Code Playgroud)交互式变基
git rebase -i master
git commit --amend --date=now
git push origin <branch> -f
Run Code Online (Sandbox Code Playgroud)来自评论:
不兼容
--interactive option
实际上……它不再与 Git 2.29(2020 年第 4 季度)不兼容:“ git rebase -i” (男人) 学习了更多选项。
兼容的选项:
--interactive/-i--root!请参阅Junio C Hamano () 的commit 6160b2e(2020 年 8 月 26 日)。
见提交2712669(2020年8月17日),并提交ef484ad由(2020年7月13日)罗希特夏尔Ashiwal( )。
参见Phillip Wood ( ) 的commit a3894aa、commit 7573cec、commit e8cbe21 (17 Aug 2020 )。(由Junio C Hamano合并-- --在提交 9c31b19 中,2020 年 9 月 3 日)gitsterr1walzphillipwood
gitster
rebase -i: 支持--ignore-date原创补丁:Rohit Ashiwal
签名:Phillip Wood
Rebase 由两个不同的后端实现 - '
apply' 和 'merge',每个后端都支持不同的选项集。特别是 apply 后端支持许多由 ' ( man ) '实现的选项,这些选项在合并后端中没有实现。 这意味着可用选项因使用的后端而异,这令人困惑。
git am此补丁增加
--ignore-date了对合并后端选项的支持。此选项使用当前时间作为作者日期,而不是在重写提交时重复使用原始作者日期。
我们要小心处理的组合--ignore-date,并--committer-date-is-author-date以同样的方式作为后端应用。
和:
rebase: 添加--reset-author-date帮助者:Junio C Hamano
签字人:Rohit Ashiwal
之前的提交将
--ignore-date标志引入到rebase -i,但名称相当模糊,因为它没有说明是否忽略作者日期或提交者日期。
添加别名以传达准确的目的。
--reset-author-date
还:
rebase -i: 支持 --committer-date-is-author-date原创补丁:Rohit Ashiwal
签名:Phillip Wood
此补丁增加
--committer-date-is-author-date了对合并后端选项的支持。
此选项使用正在被重写的提交的作者日期作为创建新提交时的提交者日期。
git rebase现在包括在其手册页中:
--committer-date-is-author-date:不要使用当前时间作为提交者日期,而是使用被重新定位的提交的作者日期作为提交者日期。
此选项意味着--force-rebase.
git rebase还包括在其手册页中:
--ignore-date:此标志传递给 'git am' 以更改每个重新提交的作者日期(请参阅 参考资料
git am)。
请注意,在 2.29(以上)中,“ --committer-date-is-author-date”rebase和“ am”子命令的“
请参阅Jeff King ( ) 的commit 5f35edd、commit 16b0bb9、commit 56706db(2020 年 10 月 23 日)。(由Junio C Hamano合并-- --在提交 f34687d 中,2020 年 10 月 26 日)peff
gitster
am:修复损坏的电子邮件--committer-date-is-author-date签字人:Jeff King
Commit e8cbe2118a (
am: stop exportingGIT_COMMITTER_DATE,2020-08-17) 重写了用于设置 committer date to use 的代码fmt_ident(),而不是设置环境变量并让commit_tree()处理它。
但它引入了两个错误:
- 我们使用作者电子邮件字符串而不是提交者电子邮件
- 在解析提交者身份时,我们使用了错误的变量来计算电子邮件的长度,导致它始终是一个零长度的字符串
此提交修复了两者,这导致我们通过 rebase "
apply" 后端对此选项的测试现在成功。
和:
rebase: 使用 --committer-date-is-author-date 修复损坏的电子邮件报告人:VenomVendor
签字人:Jeff King
提交7573cec52c ("rebase -i: support --committer-date-is-author-date", 2020-08-17, Git v2.29.0-rc0 -- merge列在第 #13 批中) 复制了提交者身份解析代码从
builtin/am.c.
这样做时,它复制了一个错误,在该错误中我们总是将电子邮件设置为空字符串。我们
git-am在之前的提交中修复了版本;此提交修复了复制的代码。
| 归档时间: |
|
| 查看次数: |
23642 次 |
| 最近记录: |