文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

git如何修改commit时间

2023-07-02 14:56

关注

这篇文章主要介绍“git如何修改commit时间”,在日常操作中,相信很多人在git如何修改commit时间问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”git如何修改commit时间”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

在git中,可以利用“git commit --amend”命令来修改commit时间;该方法既可以修改最近一次提交的日期,也可以修改指定某次提交的日期,其中日期的格式需要是“ISO-8601”格式,语法为“GIT_COMMITTER_DATE="时间" git commit --amend --date="时间"”。

本文操作环境:Windows10系统、Git2.30.0版、Dell G3电脑。

git修改commit时间

1.修改最近一次提交的作者日期和提交者日期

如果要修改最近一次commit的作者日期和提交者日期,直接使用 git commit --amend即可

注:日期格式须为ISO-8601格式

GIT_COMMITTER_DATE="2017-10-08T09:51:07" git commit --amend --date="2017-10-08T09:51:07"

2.修改某次提交的作者日期和提交者日期

如果要更改某次(可以是最近一次也可以是非最近一次)提交的作者日期和提交者日期,可以使用交互式rebase:

3.修改示例

当前git log提交信息如下

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)$ git log --oneline2fe64c4 (HEAD -> master) modify Readme.md 36b98331 modify Readme.md 298ddd80 modify Readme.md 1fcfc064 add Readme.md

假设此时需要修改 6b98331 modify Readme.md 2这一commit的作者日期和提交者日期

修改步骤为:

执行交互式变基命令 git rebase -i 98ddd80

在弹出的vi编辑信息中,将 6b98331提交前的pick修改为e,随后执行 :wq 保存

e  6b98331 modify Readme.md 2      # 此处原为pick,将pick修改为e / editpick 2fe64c4 modify Readme.md 3# Rebase 98ddd80..2fe64c4 onto 98ddd80 (2 commands)## Commands:# p, pick <commit> = use commit# r, reword <commit> = use commit, but edit the commit message# e, edit <commit> = use commit, but stop for amending# s, squash <commit> = use commit, but meld into previous commit# f, fixup <commit> = like "squash", but discard this commit's log message# x, exec <command> = run command (the rest of the line) using shell# b, break = stop here (continue rebase later with 'git rebase --continue')# d, drop <commit> = remove commit# l, label <label> = label current HEAD with a name# t, reset <label> = reset HEAD to a label# m, merge [-C <commit> | -c <commit>] <label> [# <oneline>]# .       create a merge commit using the original merge commit's# .       message (or the oneline, if no original merge commit was# .       specified). Use -c <commit> to reword the commit message.## These lines can be re-ordered; they are executed from top to bottom.## If you remove a line here THAT COMMIT WILL BE LOST.## However, if you remove everything, the rebase will be aborted.

执行 GIT_COMMITTER_DATE="2021-10-22T15:10:07" git commit --amend --date="2021-10-22T15:10:07" 将作者日期和提交者日期均修改为2021-10-22T15:10:07。然后可选择在弹出的vi信息编辑窗中可修改提交日志,然后执行 :wq 保存

然后执行 git rebase --continue转到下一个提交,直到保存所有修改。完成后再使用git log查看提交信息即可看到提交信息已被修改

上述示例的完整日志如下:

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)$ git log --oneline2fe64c4 (HEAD -> master) modify Readme.md 36b98331 modify Readme.md 298ddd80 modify Readme.md 1fcfc064 add Readme.mdadmin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)$ git rebase -i 98ddd80Stopped at 6b98331...  modify Readme.md 2You can amend the commit now, with  git commit --amendOnce you are satisfied with your changes, run  git rebase --continueadmin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2)$ GIT_COMMITTER_DATE="2021-10-22T15:10:07" git commit --amend --date="2021-10-22T15:10:07"[detached HEAD 137f41d] modify Readme.md 2 Date: Fri Oct 22 15:10:07 2021 +0800 1 file changed, 16 insertions(+)admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2)$ git statusinteractive rebase in progress; onto 98ddd80Last command done (1 command done):   edit 6b98331 modify Readme.md 2Next command to do (1 remaining command):   pick 2fe64c4 modify Readme.md 3  (use "git rebase --edit-todo" to view and edit)You are currently editing a commit while rebasing branch 'master' on '98ddd80'.  (use "git commit --amend" to amend the current commit)  (use "git rebase --continue" once you are satisfied with your changes)nothing to commit, working tree cleanadmin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2)$ git rebase --continueSuccessfully rebased and updated refs/heads/master.admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)$ git statusOn branch masternothing to commit, working tree clean

到此,关于“git如何修改commit时间”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯