以这个github commit为例:

https://github.com/SAP/spartacus/commit/4d1de586e32ac635d78ee2ad751338720fb3fb1f.patch

如果由于某种原因,需要删除上图高亮的提交者用户名和提交者邮箱地址,应该如何操作呢?

下面是我联系了Github support之后得到的解决方案:

注意事项

Running this script rewrites history for all repository collaborators. After completing these steps, any person with forks or clones must fetch the rewritten history and rebase any local changes into the rewritten history.

1 - Before running this script, you’ll need:

  • The old email address that appears in the author/committer fields that you want to change
  • The correct name and email address that you would like such commits to be attributed to

2 - Create a fresh, bare clone of your repository:

git clone --bare https://github//.git
cd .git

3 - Copy and paste the script, replacing the following variables based on the information you gathered:

  • OLD_EMAIL
  • CORRECT_NAME
  • CORRECT_EMAIL
  #!/bin/shgit filter-branch --env-filter 'OLD_EMAIL="your-old-email@example.com"CORRECT_NAME="Your Correct Name"CORRECT_EMAIL="your-correct-email@example.com"if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]thenexport GIT_COMMITTER_NAME="$CORRECT_NAME"export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"fiif [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]thenexport GIT_AUTHOR_NAME="$CORRECT_NAME"export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"fi' --tag-name-filter cat -- --branches --tags

4 - Press Enter to run the script.
5 - Review the new Git history for errors.
6 - Push the corrected history to :

git push --force --tags origin ‘refs/heads/*’

7 - Clean up the temporary clone:

cd ..
rm -rf <reponame>.git

如何修改Github已经提交的commit里的提交者用户名和提交者邮箱相关推荐

  1. git 修改已提交的 commit

    2019独角兽企业重金招聘Python工程师标准>>> 修改历史的操作,原理上都是通过变基(rebase)实现的. 因为发生了修改,则每个涉及的 commit 都会计算出新的 SHA ...

  2. 修改git历史提交的commit信息

    本文是基于idea的操作,亲测可用 前言: 很多公司都会自定义 Git - 使用强制策略,那么他的commit信息就会有固定的格式,一旦不是这个格式,就会出现push失败 但是push失败,很多也只在 ...

  3. Git修改已提交的commit

    1 本地修改 由于以下修改本身是对版本历史的修改,在需要push到远程仓库时,往往是不成功的,只能强行push,这样会出现的一个问题就是,如果你是push到多人协作的远程仓库中,会对其他人的远程操作构 ...

  4. git修改上一次提交之前的提交git commit --fixup

    转自:点击打开链接 "好的文章不是写出来的,而是改出来的." 代码提交也是如此. 程序员写完代码,往往迫不及待地敲下:git commit,然后发现提交中少了一个文件,或者提交了多 ...

  5. github删除错误的commit并保留之前的提交

    github删除错误的commit并保留之前的提交 git 版本控制工具给我们带来了许多便利,使我们多人合作还有历史版本带来了便利 这几天在提交github中提交了错误的代码 上去,这时已经同步到远程 ...

  6. 修改git已提交的commit中提交者的用户名和邮箱

    如下图中,将已经提交的commit中,用户名jincheng-demo,jincheng-demo01,以及邮箱jincheng@test.com, 修改为正确的用户名:jincheng,正确的邮箱: ...

  7. Git进阶:修改上次提交 git commit --amend

    一.问题说明 git commit 后,发现刚才的备注写错了,或者代码漏掉了,想取消刚才的提交.此刻有两种方法 (1)使用git reset命令将刚才的提交会退掉(需要注意的是git reset -- ...

  8. 【Git】Git 修改刚提交的 commit message

    Git 修改 commit message 修改最近一次的commit 信息 git commit --amend 然后就会进入vim编辑模式 比如要修改的commit是倒数第三条,使用命令: git ...

  9. GitHub之深入解析脚本·自定义与修改GitHub来更好地为特定的工作流程工作

    一.服务与钩子 GitHub 仓库管理中的钩子与服务区块是 GitHub 与外部系统交互最简单的方式. ① 服务 首先来看一下服务,钩子与服务整合都可以在仓库的设置区块中找到,就在我们之前添加协作者与 ...

最新文章

  1. Java中使用hql,sql查询--多表查询后的新实体构建方法
  2. python的工资为什么这么低-Python为什么这么火 Python岗位薪资水平如何
  3. 64位WINDOWS 使用PL SQL DEVELOPER 连接ORACLE 出错问题解决
  4. 【只有光头才能变强,文末有xx】分享一波Lambda表达式
  5. 伪静态php空间,Win空间上如何实现WordPress博客的完美伪静态
  6. SQLServer 批量插入数据的两种方法
  7. Oracle 数据库维护知识
  8. 每周分享第 39 期
  9. 基于spring websocket实现广播及点对点推送功能
  10. 《大学》与威斯敏斯特大教堂的无名墓碑
  11. 谷歌图片验证码的使用图文详解附源码
  12. MAC: docker compose mount permission denied 挂载失败
  13. 用户需求分析是什么?重难点是什么?
  14. 如何下载react依赖包
  15. 计算机视觉在生物公司的应用,生物视觉仿生在计算机视觉中的应用研究.pdf
  16. OSI七层模型及各层功能概述
  17. 赵小楼《天道》深度解析(69)不要执著于豆豆和书,或寻找高人。更多的是要在意内容、内容、内容。你掌握之后,你也是高人
  18. 密钥创建及SecureCRT\Putty\XShell使用密钥登陆虚拟机
  19. tensorflow 报错 IndexError: pop from empty list
  20. 通过Safari与mobileconfig获取iOS设备UDID(设备唯一标识符)

热门文章

  1. Linux下SQLPlus中文乱码处理
  2. Android知识点剖析系列:深入了解layout_weight属性
  3. RESTful Web Service
  4. Spring定时任务的几种实现方式
  5. JAVA自带监控工具的介绍
  6. Kosaraju算法(发现强连通分图算法)
  7. NOS跨分区灾备设计与实现
  8. 003 Preconditons
  9. iOS的开发者的webview的js性能比Safari性能差5、6倍
  10. 200多个js技巧代码