目录
git怎么修改commit时间
首页 开发工具 git git怎么修改commit时间

git怎么修改commit时间

Jul 01, 2022 am 10:30 AM
git

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

git怎么修改commit时间

本文操作环境: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:

  • 执行git rebase -i COMMIT_SHA , 此COMMIT_SHA为待修改日期的commit的前一个commit的commit sha

  • 在vi弹出交互信息中将待修改日期的commit前的pick修改为e

  • 执行日期修改命令 GIT_COMMITTER_DATE="2017-10-08T09:51:07" git commit --amend --date="2017-10-08T09:51:07"

  • 执行 git rebase --continue转到下一个commit

  • 重复此过程,直到修改所有提交。 通过git status可查看进展。

3.修改示例

当前git log提交信息如下

admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)
$ git log --oneline
2fe64c4 (HEAD -> master) modify Readme.md 3
6b98331 modify Readme.md 2
98ddd80 modify Readme.md 1
fcfc064 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 / edit
pick 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&#39;s log message
# x, exec <command> = run command (the rest of the line) using shell
# b, break = stop here (continue rebase later with &#39;git rebase --continue&#39;)
# 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&#39;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 --oneline
2fe64c4 (HEAD -> master) modify Readme.md 3
6b98331 modify Readme.md 2
98ddd80 modify Readme.md 1
fcfc064 add Readme.md
admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)
$ git rebase -i 98ddd80
Stopped at 6b98331...  modify Readme.md 2
You can amend the commit now, with
  git commit --amend
Once you are satisfied with your changes, run
  git rebase --continue
admin@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 status
interactive rebase in progress; onto 98ddd80
Last command done (1 command done):
   edit 6b98331 modify Readme.md 2
Next 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 clean
admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master|REBASE 1/2)
$ git rebase --continue
Successfully rebased and updated refs/heads/master.
admin@DESKTOP-PC MINGW64 /e/TestProj/ModifyTimeTest (master)
$ git status
On branch master
nothing to commit, working tree clean
登录后复制

推荐学习:《Git教程

以上是git怎么修改commit时间的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

git怎么下载项目到本地 git怎么下载项目到本地 Apr 17, 2025 pm 04:36 PM

要通过 Git 下载项目到本地,请按以下步骤操作:安装 Git。导航到项目目录。使用以下命令克隆远程存储库:git clone https://github.com/username/repository-name.git

git怎么更新代码 git怎么更新代码 Apr 17, 2025 pm 04:45 PM

更新 git 代码的步骤:检出代码:git clone https://github.com/username/repo.git获取最新更改:git fetch合并更改:git merge origin/master推送更改(可选):git push origin master

git commit怎么用 git commit怎么用 Apr 17, 2025 pm 03:57 PM

Git Commit 是一种命令,将文件变更记录到 Git 存储库中,以保存项目当前状态的快照。使用方法如下:添加变更到暂存区域编写简洁且信息丰富的提交消息保存并退出提交消息以完成提交可选:为提交添加签名使用 git log 查看提交内容

git怎么合并代码 git怎么合并代码 Apr 17, 2025 pm 04:39 PM

Git 代码合并过程:拉取最新更改以避免冲突。切换到要合并的分支。发起合并,指定要合并的分支。解决合并冲突(如有)。暂存和提交合并,提供提交消息。

git下载不动怎么办 git下载不动怎么办 Apr 17, 2025 pm 04:54 PM

解决 Git 下载速度慢时可采取以下步骤:检查网络连接,尝试切换连接方式。优化 Git 配置:增加 POST 缓冲区大小(git config --global http.postBuffer 524288000)、降低低速限制(git config --global http.lowSpeedLimit 1000)。使用 Git 代理(如 git-proxy 或 git-lfs-proxy)。尝试使用不同的 Git 客户端(如 Sourcetree 或 Github Desktop)。检查防火

git怎么删除仓库 git怎么删除仓库 Apr 17, 2025 pm 04:03 PM

要删除 Git 仓库,请执行以下步骤:确认要删除的仓库。本地删除仓库:使用 rm -rf 命令删除其文件夹。远程删除仓库:导航到仓库设置,找到“删除仓库”选项,确认操作。

如何解决PHP项目中的高效搜索问题?Typesense助你实现! 如何解决PHP项目中的高效搜索问题?Typesense助你实现! Apr 17, 2025 pm 08:15 PM

在开发一个电商网站时,我遇到了一个棘手的问题:如何在大量商品数据中实现高效的搜索功能?传统的数据库搜索效率低下,用户体验不佳。经过一番研究,我发现了Typesense这个搜索引擎,并通过其官方PHP客户端typesense/typesense-php解决了这个问题,大大提升了搜索性能。

git怎么更新本地代码 git怎么更新本地代码 Apr 17, 2025 pm 04:48 PM

如何更新本地 Git 代码?用 git fetch 从远程仓库拉取最新更改。用 git merge origin/&lt;远程分支名称&gt; 将远程变更合并到本地分支。解决因合并产生的冲突。用 git commit -m "Merge branch &lt;远程分支名称&gt;" 提交合并更改,应用更新。

See all articles