当前位置: 首页 > news >正文

Git:日志修改

一、问题描述

有小伙伴提出一个需求,为了满足某种需要,需要在Git日志中增加一条提交记录,并且需要指定提交时间。
比如,以下面这个only-allow项目为例,想在它的Git日志2023/9/26 19:08:08前插入一条2023/9/28 19:08:08的代码提交日志。

在这里插入图片描述

二、解决方案

(1)提交修改文件:

git commit -a --date="2023-09-28T19:08:08" -m "新增一条记录"

在这里插入图片描述

在这里插入图片描述
(2)编辑记录:

git rebase -i HEAD~5

在这里插入图片描述

输入i进入编辑模式,将最后一条记录pick 6e2a5f6 新增一条记录移动到pick ac64773 1.2.0的记录后面:

在这里插入图片描述

然后按Esc,输入:wq退出编辑:

在这里插入图片描述

提示有代码冲突,需要解决,解决冲突后,接着输入:

git rebase --continue

在这里插入图片描述

如果需要编辑可以按i,否则直接输入:wq退出编辑:

在这里插入图片描述

再次提示有代码冲突,需要解决,解决冲突后,接着输入:

git rebase --continue

在这里插入图片描述

如果需要编辑可以按i,否则直接输入:wq退出编辑。如此反复操作,直至完成:

在这里插入图片描述

看一下最终效果:

在这里插入图片描述

这里有个问题,使用下面的命令查看:

git log --pretty=fuller

在这里插入图片描述

可以看到对应的CommitDate也并非我们指定的时间。

如果要改变这个CommitDate,我们继续编辑:

git rebase -i HEAD~5

输入i进入编辑模式,将对应记录移动并将其pick改为edit
在这里插入图片描述
然后按Esc,输入:wq退出编辑:

在这里插入图片描述
接着输入:

set GIT_COMMITTER_DATE="2023-09-28T19:08:08"
git commit --amend --date="2023-09-28T19:08:08"

在这里插入图片描述
在这里插入图片描述
然后按Esc,输入:wq退出编辑,接着输入:

git rebase --continue

在这里插入图片描述
完成操作后,查看一下效果:

在这里插入图片描述
注意:
可以看到,上述操作会导致所有的CommitDate都被修改成相同的目标时间,并且所以记录的Commit也出现本人操作信息,后续有时间再研究。

http://www.lryc.cn/news/331479.html

相关文章:

  • 【数据库】MySQL InnoDB存储引擎详解 - 读书笔记
  • GPT-2原理-Language Models are Unsupervised Multitask Learners
  • 逆向案例十二——看准网企业信息json格式的信息
  • docker安装jenkins 2024版
  • 输入url到页面显示过程的优化
  • Linux(centos7)部署hive
  • LeetCode | 数组 | 双指针法 | 27. 移除元素【C++】
  • 【Apache Doris】周FAQ集锦:第 2 期
  • jQuery(二)
  • MIT6.828 实验环境安装教程
  • 一文彻底搞清 Iterator(遍历器)概念及用法
  • 稀疏矩阵的三元组表表示法及其转置
  • docker安装rabbitMQ,并且创建账号
  • wireshark解析grpc/protobuf的方法
  • 软件测试用例(2)
  • 集群式无人机仿真环境和数据集
  • IPSec VPN
  • docker部署nacos,单例模式(standalone),使用内置的derby数据库,简易安装
  • systemd监听服务配置文件更新自动重启服务
  • 【yy讲解PostCSS是如何安装和使用】
  • YOLO电动车检测识别数据集:12617张图像,yolo标注完整
  • 从汇编看函数调用
  • node.js的错误处理
  • shell的编写
  • css心跳动画
  • 在 Amazon Timestream 上通过时序数据机器学习进行预测分析
  • 【智能排班系统】快速消费线程池
  • C语言——内存函数
  • ideaSSM图书借阅管理系统VS开发mysql数据库web结构java编程计算机网页源码maven项目
  • 普联一面4.2面试记录