返回顶部
分享到

修改git commit的author信息实现方式

相关技巧 来源:互联网 作者:佚名 发布时间:2025-07-29 16:49:36 人浏览
摘要

修改git commit的author信息 本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭。 查看提

修改git commit的author信息

本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只是提交记录里显示的是别的名字稍显别扭。

查看提交日志

假设以a(a@email.com)提交了三次,发现提交用户错了,应该用b用户提交:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

$ git log

 

# 输出如下

commit 3 (HEAD -> branch1)

Author: a <a@email.com>

Date: Thu Nov 22 16:22:59 2018 +0800

    commit 3

commit 2 (HEAD -> branch1)

Author: a <a@email.com>

Date: Thu Nov 22 16:22:59 2018 +0800

    commit 2

commit 1 (HEAD -> branch1)

Author: a <a@email.com>

Date: Thu Nov 22 16:22:59 2018 +0800

    commit 1

重置本项目用户信息

1

2

$ git config user.name 'b'

$ git config user.email b@email.com

使用amend命令修改commit信息

1

$ git commit --amend --reset-author

amend命令只会修改最后一次commit的信息,之前的commit需要使用rebase:

1

2

3

4

5

6

$ git rebase -i HEAD~3

 

# 输出如下

pick 1 commit 1

pick 2 commit 2

pick 3 commit 3

要修改哪个,就把那行的pick改为edit,然后退出。

例如想修改commit 1的author,光标移到第一个pick,按i键进入INSERT模式,把pick改为edit:

1

2

3

4

5

edit 1 commit 1

pick 2 commit 2

pick 3 commit 3

...

-- INSERT --

然后按esc键,退出INSERT模式,输入:wq退出,这时可以看到提示,可以修改commit 1的信息了:

1

2

3

4

5

Stopped at 1 commit 1

You can amend the commit now, with

    git commit --amend

Once you are satisfied with tour changes, run

    git rebase --continue

输入amend命令重置用户信息

1

$ git commit --amend --reset-author

会出现commit 1的提交记录及注释内容,可进入INSERT模式修改注释,:wq退出。

这时再查看提交历史,发现commit 1的author已经变成b(b@email.com)了,且是最新一次记录。

通过continue命令回到正常状态

1

$ git rebase --continue


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • AJAX常见的几种封装方法实例

    AJAX常见的几种封装方法实例
    AJAX (Asynchronous JavaScript and XML) 封装是为了简化重复的异步请求代码,提高开发效率和代码复用性。下面我将介绍几种常见的 AJAX 封装方式。
  • 修改git commit的author信息实现方式
    修改git commit的author信息 本地有多个git账号时,容易发生忘记设置项目默认账号,最后以全局账号提交的情况,其实对代码本身并无影响,只
  • 在VSCode中使用Git进行版本控制的实现

    在VSCode中使用Git进行版本控制的实现
    在 VS Code 中使用 Git 进行版本控制 参考: Using Version Control in VS Code 初始化(init) 功能:将文件夹初始化为git仓库(实际就是在文件夹下创建一个
  • Grafana安装配置介绍

    Grafana安装配置介绍
    一、查看操作系统 二、下载 用户需要根据当前操作系统,到 Grafana 官网下载安装包,并执行安装。 下载地址如下:https://grafana.com/grafana/
  • Git Commit Message写错问题的解决方案

    Git Commit Message写错问题的解决方案
    作为一名开发者,提交代码时写错Commit Message是常见问题。今天就讲一下如何修改本地和远程仓库的Commit Message,重点解决已Push到远程仓库的
  • 用自写的jQuery库+Ajax实现了省市联动功能

    用自写的jQuery库+Ajax实现了省市联动功能
    1. 省市联动: 在网页上,选择对应的省份之后,动态的关联出该省份对应的市。选择对应的市之后,动态地关联出城市对应的区。 2. 设计数
  • 在Postman中高效生成随机环境变量的三种高效方法
    为什么需要随机环境变量? 在API测试中,随机数据解决了几个关键问题: 避免重复数据冲突:防止因唯一性约束导致的测试失败 模拟真实
  • 一文介绍php、jsp、asp和aspx的区别(小科普)
    通俗理解 PHP 通俗:PHP就像万能胶,专为快速搭建中小型网站设计。它语法简单(类似C语言),免费且跨平台,适合新手和中小项目,比如
  • Trae AI IDE的使用教程(全网最全)

    Trae AI IDE的使用教程(全网最全)
    Trae AI IDE 全网最全的使用教程 近期,字节发布了一款 AI Coding 产品 Trae,它是一款对标 Cursor 和 Windsurf 的全新 IDE,也是一款真正为中文开发
  • AJAX常见的几种封装方法实例介绍

    AJAX常见的几种封装方法实例介绍
    AJAX (Asynchronous JavaScript and XML) 封装是为了简化重复的异步请求代码,提高开发效率和代码复用性。下面我将介绍几种常见的 AJAX 封装方式。
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计