Git 修改已提交 commit 的信息

2023-10-27

背景

由于 Github 和公司 Git 使用账号不一样,偶尔没注意,提交出错后就需要修改 commit 信息。

修改最后一次提交 commit 的信息

# 修改最近提交的 commit 信息
$ git commit --amend --message="modify message by daodaotest" --author="jiangliheng <jiang_liheng@163.com>"

# 仅修改 message 信息
$ git commit --amend --message="modify message by daodaotest"

# 仅修改 author 信息
$ git commit --amend --author="jiangliheng <jiang_liheng@163.com>"

修改历史提交 commit 的信息

操作步骤:

  • git rebase -i 列出 commit 列表
  • 找到需要修改的 commit 记录,把 pick 修改为 edit 或 e,:wq 保存退出
  • 修改 commit 的具体信息git commit --amend,保存并继续下一条git rebase
    –continue,直到全部完成
  • 中间也可跳过或退出git rebase (–skip | --abort)
# 列出 rebase 的 commit 列表,不包含 <commit id>
$ git rebase -i <commit id>
# 最近 3 条
$ git rebase -i HEAD~3
# 本地仓库没 push 到远程仓库的 commit 信息
$ git rebase -i

# vi 下,找到需要修改的 commit 记录,```pick```修改为 ```edit```或 ```e```,```:wq```保存退出
# 重复执行如下命令直到完成
$ git commit --amend --message="modify message by daodaotest" --author="jiangliheng <jiang_liheng@163.com>"
$ git rebase --continue

# 中间也可跳过或退出 rebase 模式
$ git rebase --skip
$ git rebase --abort

批量修改历史 commit 信息

创建批量脚本changeCommit.sh:

$ cat changeCommit.sh
#!/bin/sh

git filter-branch --env-filter '

# 之前的邮箱
OLD_EMAIL="jiangliheng@126.com"
# 修改后的用户名
CORRECT_NAME="jiangliheng"
# 修改后的邮箱
CORRECT_EMAIL="jiangliheng@163.com"

if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

执行脚本成功后,强制推送到远程服务器:

$ git push --force --tags origin 'refs/heads/*'

参考链接 :

https://mp.weixin.qq.com/s/Uu6EnOEnroPswr5csQKrMQ

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Git 修改已提交 commit 的信息 的相关文章

随机推荐

  • 【STM32学习笔记】软件使用---win10下 keil5打开keil4工程的问题

    环境 操作系统 win10 keil版本 keil MDK5 24a 问题 1 keil5打开keil4 工程卡死 2 keil5 编译图标变为保存 解决 1 keil5打开keil4卡死 安装 MDK V4 Legacy Support
  • AndroidManifest.xml中一些常用的属性

    一 关于AndroidManifest xml AndroidManifest xml 是每个android程序中必须的文件 它位于整个项目的根目录 描述了package中暴露的组件 activities services 等等 他们各自的
  • 十行 Python 代码实现酷炫功能

    一 生成二维码 二维码又称二维条码 常见的二维码为QR Code QR全称Quick Response 是一个近几年来移动设备上超流行的一种编码方式 而生成一个二维码也非常简单 在Python中我们可以通过MyQR模块了生成二维码 而生成一
  • 【JAVA】JSP中通过Get和Post方式传递页面参数(三种方式)。

    一 通过FORM 表单 Get request getParameter方式实现页面传参 1 Login jsp 登录页
  • 基于elementUI和vue做的简单界面

    今天学习了elementUI和vue 做了一个简单的学生列表界面
  • 判断点是否在对角线两点构成的矩形中

    已知一个矩形的对角线的两个点坐标分别为 A 0 123456789 0 523456789 B 0 423456789 0 323456789 判断C 0 223456789 0 423456789 点是否在A和B构成的矩形中 一 Java
  • 可编程渲染管线与着色器语言

    可编程渲染管线与着色器语言 Programming pipeline shading language Sampler Direct3D 9 asm ps A sampler is a input pseudo register for a
  • JavaWeb基础1——MySQL

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud SpringCloudAlibaba 黑马旅游 谷粒商城 目录 一 概念 二 下载安装配置卸载 三 关系型数据库
  • php svg写入文字转png,php如何实现svg转化png

    php实现svg转化png的方法 首先通过 drawInlineSVG 方法将svg转为canvas 然后使用 base64 image content 方法将canvas转为png即可 推荐 PHP视频教程 svg转png实现 1 php
  • 2021年3月最新的山东大学网络认证的网址

    http 202 194 15 87 srun portal pc ac id 9 srun wait 1 theme basic
  • 共创开发闭环,轻流CEO薄智元:让无代码回归本质

    以无代码的开发形式为基础 以业务人员为用户定位 奔向 无代码 的路径为企业提供个性化解决方案和产品 使开展业务各个环节的负责人深入地参与到系统开发中去 形成圆桌闭环 这是轻流的答案 作者 斗斗 出品 产业家 数字化需求迫切 人员成本高 研发
  • Faster Rcnn 代码解读之 blob.py

    Fast R CNN Copyright c 2015 Microsoft Licensed under The MIT License see LICENSE for details Written by Ross Girshick Bl
  • Java Comparator的使用-构建自己的Comparator(Lambda)

    引文 在开发的过程中 通常会对一些List进行排序 如果仅仅对某一个数字型的字段进行排序 排序的种类有很多 无论是使用Java 8 新特性的Stream排序 或者是使用Array sort方法都可以 但有时候我们需要对字符串类型 并且可能会
  • 深度学习训练模型的硬件条件(点评)

    比较系统性的文章 包括本地硬件搭建 云端训练环境介绍 原文地址 https blog csdn net u010327061 article details 80775135 之前热衷于学习理论知识 目前想跑代码了发现不知道从何下手 自己电
  • node网页爬虫

    前言 以前听后端的同事说 用网页爬虫可以抓取到许多电影下载资源 当时就跃跃欲试 想学习一下 无奈当时太懒 也经受不住生活中各种能获得即时快乐感事情的诱惑 时间都没有用到正经事情上 把这件事情耽搁了好几年 前段时间在掘金看到一篇有关爬虫的文章
  • 【pip command】之 pip install

    目录 前言 1 用法 2 安装位置 3 安装步骤 4 参数处理顺序 5 运行时依赖项的安装顺序 5 1 示例记录 安装 pywifi 后提示 No module named comtypes 6 Requirements File Form
  • 网站和API支持HTTPS,最好在Nginx上配置

    随着我们网站用户的增多 我们会逐渐意识到HTTPS加密的重要性 在不修改现有代码的情况下 要从HTTP升级到HTTPS 让Nginx支持HTTPS是个很好的选择 今天我们来讲下如何从Nginx入手 从HTTP升级到HTTPS 同时支持静态网
  • SRGAN——使用与超分辨率重建的GAN

    SRGAN数据GAN理论在超分辨率重建 SR 方面的应用 一 超分辨率技术 1 SR技术介绍 SR技术 是指从观测到的低分辨率图像重建出相对应的高分辨率图像 在监控设备 卫星图像和医学影像等领域都有重要的应用价值 也可以应用于马赛克图片的恢
  • vmware一打开虚拟机就蓝屏

    win10的更新又和Vmware起了冲突 更新系统后再用Vmware打开虚拟机会立马蓝屏并重新启动 此时最简单的解决方法就是升级Vmware到16版本就可以解决
  • Git 修改已提交 commit 的信息

    背景 由于 Github 和公司 Git 使用账号不一样 偶尔没注意 提交出错后就需要修改 commit 信息 修改最后一次提交 commit 的信息 修改最近提交的 commit 信息 git commit amend message m