Jamey's Jamey's
首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于

Jamey

首页
导航站
  • 学习专栏

    • 《HTML》笔记
    • 《CSS》笔记
    • 《JavaScript》笔记
    • 《Vue》笔记
    • 《Git》笔记
    • 《规范》笔记
    • 《软技能》笔记
    • 《面试》笔记
    • 《持续集成&交付&部署》笔记
  • 踩坑专栏

    • 《Element-UI 实践系列》笔记
    • 《移动端 实践系列》笔记
    • 《综合》笔记
  • 配置专栏

    • 《环境系列》笔记
  • 极空间

    • Docker
  • 影视

    • movie
  • 编辑器笔记

    • 开发编辑器
  • 浏览器笔记

    • Chrome
  • Mac笔记

    • Mac
  • 跨界学习

    • 运营
  • 破解合集

    • 破解
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 书单
    • 关于
  • 手册

    • 常用 Git 命令清单
    • Git 变基合并
    • Git 迁移仓库并保留 commit 记录
    • Git SSH 多用户配置
    • Git 修改提交历史中的指定信息
      • 一. 使用 rebase
      • 二. 此时进入编辑界面
      • 三. 修改需要修改的 commit
      • 四. 保存退出
      • 五. 修改用户名及邮箱
      • 六. 结束 rebase
      • 七. 同步到远程仓库上
  • 文档笔记

  • 《Git》笔记
  • 手册
Jamey
2022-05-24
目录

Git 修改提交历史中的指定信息

# Git 修改提交历史中的指定信息

# 一. 使用 rebase

如图,红圈中提交的用户名及邮箱是需要改的,则需要复制 需要改的提交记录的上一个记录 hashcode,在本例中就是 1c364e11588b2b44466af15b020d741d3460ef83

git_05-24_01

$ git rebase -i 1c364e11588b2b44466af15b020d741d3460ef83
1
  • 也可以用 HEAD~步长 的方式,但如果提交记录很久远的话,算步长就不太现实,所以更推荐 hashcode 写法
$ git rebase -i HEAD~1
1
  • 如果整个仓库只有 1 次提交,即 root 提交,则需要用如下命令
$ git rebase -i --root
1

# 二. 此时进入编辑界面

记录着 commit 的信息

git_05-24_02

# 三. 修改需要修改的 commit

需要修改那个 commit 就在首行将 pick 改为 edit,在本例中则需要改第一行

git_05-24_03

# 四. 保存退出

wq 保存退出之后会返回如下内容

git_05-24_04

# 五. 修改用户名及邮箱

$ git commit --amend --reset-author
1

命令执行后会进入提交日志的编辑界面,我们仅需要修改用户名及邮箱,不需要修改提交日志信息,wq 保存退出即可

git_05-24_05

接下来此次提交的作者及邮箱会被修改为 --local 级别的用户名及邮箱,若该级别没有设置,则会使用 --global 级别的用户名及邮箱

  • 如果不想使用已经设置好的用户名及邮箱的话,也可以手动指定用户名及邮箱:
$ git commit --amend --author="otheruser <otheremail@qq.com>"
1

# 六. 结束 rebase

$ git rebase --continue
1

再查看提交记录,可以看到提交的作者及邮箱已经改正了。

git_05-24_06

# 七. 同步到远程仓库上

$ git push -f origin master
1
#Git
上次更新: 2022/07/01, 17:34:19
Git SSH 多用户配置
Git 基础与命令

← Git SSH 多用户配置 Git 基础与命令→

Theme by Vdoing | Copyright © 2017-2023 Jamey | blog 闽ICP备19022664号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式