批量修改 GitHub 代码提交作者需要进行以下步骤:

  1. 首先,你需要 clone 远程仓库到本地,使用以下命令:

    git clone <repository-url>
    ``` 将 `<repository-url>` 替换为要克隆的仓库的 URL。
  2. 进入到克隆下来的代码库目录,使用以下命令查看所有提交记录:

    git log
    ``` 检查要修改的提交记录的哈希值。
  3. 使用以下命令将要修改的提交记录的作者和邮箱修改为新的作者和邮箱:

    git filter-branch --env-filter '
    OLD_EMAIL="old-email@example.com"
    CORRECT_NAME="New Author Name"
    CORRECT_EMAIL="new-email@example.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
    ``` 将 `OLD_EMAIL` 替换为要修改的旧邮箱地址,`CORRECT_NAME` 替换为新的作者名字,`CORRECT_EMAIL` 替换为新的邮箱地址。注意,这个命令会将旧的提交记录复制一份,将旧的作者和邮箱替换为新的作者和邮箱。这意味着你需要使用 `git push --force` 命令强制推送修改后的提交记录到远程仓库。
    或者匹配规则改为
    OLD_NAME也可以。
    如果提示已经存在! 按要求改为
    git filter-branch -f --env-filter 
    ```

    Proceeding with filter-branch...

    Cannot create a new backup.
    A previous backup already exists in refs/original/
    Force overwriting the backup with -f

    执行完该命令后提示哪些分支及tag的记录被修改(需要注意的是 本地仓库checkout过的分支才会修改哦!所以需要提交每个远程分支都拉一下)

  4. 使用以下命令强制推送修改后的提交记录到远程仓库:

     
    git push --force --tags origin 'refs/heads/*'
    ``` 这个命令会将修改后的提交记录推送到所有分支和标签。

请注意,由于这个操作会修改历史提交记录,因此可能会影响其他开发者的代码库。如果其他开发者基于修改前的提交记录进行了开发,可能会导致代码库的不一致性或冲突,因此在进行此操作之前,请确保已经与其他开发者进行了充分的协商和确认。此外,建议在执行此操作之前先对代码库进行备份。

另外,如果你是多人协作开发的团队,建议在进行此操作之前与其他成员进行充分的沟通和确认,以避免不必要的冲突和误解。

如何批量修改 GitHub 代码提交作者的更多相关文章

  1. 修改Github上提交日志

    bash: git rebase -i HEAD~5:假定你要修改的日志位于当前版本(HEAD)的前4次提交中. vi: pick -> reword:在自动打开的vi编辑器中,上下选择你要修改 ...

  2. [转]修改github已提交的用户名和邮箱

    改变作者信息 为改变已经存在的 commit 的用户名和/或邮箱地址,你必须重写你 Git repo 的整个历史. 警告:这种行为对你的 repo 的历史具有破坏性.如果你的 repo 是与他人协同工 ...

  3. GitHUb 代码提交遇到的问题以及解决办法

    git 添加代码出现以下错误: fatal: Unable to create 'F:/wamp/www/ThinkPhpStudy/.git/index.lock': File exists. If ...

  4. 如何修改Github上提交的错误用户地址和姓名

    Changing author info  https://help.github.com/articles/changing-author-info/   To change the name an ...

  5. 加速国内Github代码下载速度

    标题: 加速国内Github代码下载速度 作者: 梦幻之心星 347369787@QQ.com 标签: [Github, 代码, 下载] 目录: 代码 日期: 2019-10-27 目录 前提说明 解 ...

  6. mybatis批量修改

    使用mybats经常要用到批量修改或者删除,贴出批量修改的代码.如果是批量删除,可将update换成delete. <update id="changestatus" par ...

  7. springmvc使用list集合实现商品列表的批量修改

    1将表单的数据绑定到List 1.1 需求 实现商品数据的批量修改. 1.2 需求分析 要想实现商品数据的批量修改,需要在商品列表中可以对商品信息进行修改,饼干且可以批量提交修改后的商品数据. 1.3 ...

  8. Python批量修改文件名(os库)

    问题: 在某一文件夹内有97个sql文件,全部都以统一格式命名,例如“A201222-广州李小龙纪念协会-1-广州李小龙纪念协会-2018.AUD” 由于有两段重复了,而且中间的“1”也没有意义,需要 ...

  9. Github如何提交修改的代码以及更新到最新版本

    最近有人问我,Github上如何把修改fork到的代码提交到原版本上去,以及如何更新到最新的版本.只针对初学者,大神的话勿喷. 首先说第一个问题. 进入到你修改的某个repository里面(以本人的 ...

  10. git修改提交作者和邮箱

    作用一名程序员,我们会经常混迹与不同的代码仓库,时常不同仓库会有作者信息验证.比如公司内建的gitlab一般会要求统一使用公司内部的域账号签名:github要求使用github账号签名等.因此,很容易 ...

随机推荐

  1. 算法学习笔记(20): AC自动机

    AC自动机 前置知识: 字典树:可以参考我的另一篇文章 算法学习笔记(15): Trie(字典树) KMP:可以参考 KMP - Ricky2007,但是不理解KMP算法并不会对这个算法的理解产生影响 ...

  2. <K, V>型缓存:LRU策略 FIFO策略

    <K, V>型缓存:LRU策略 FIFO策略 这两种替换策略都是通过 LinkedHashMap 实现 LinkedHashMap: LinkedHashMap 继承自 HashMap,所 ...

  3. fork语句遇见for循环语句

    一.没有automatic的fork-join_none 通常小白会这么写: 代码如下: foreach(a[i]) begin fork repeat(a[i]) #1ns; $display(&q ...

  4. Windows的压缩文件夹(zip/cab)

    https://weibo.com/1114096665/DtHXgvnva #windows10# 硬要把zip.cab文件当文件夹,不爽怎么解决? 删除注册表 "HKEY_CLASSES ...

  5. Swift之struct二进制大小分析

    作者:京东零售 邓立兵 随着Swift的日渐成熟和给开发过程带来的便利性及安全性,京喜App中的原生业务模块和基础模块使用Swift开发占比逐渐增高.本次讨论的是struct对比Class的一些优劣势 ...

  6. Oracle宕机之PMON (ospid: 248987): terminating the instance due to error 484(另附hugepage配置方法)

    数据库版本:11.2.0.4 RAC环境 操作系统版本:Asianux Server release 7.3 数据库报错分析 接到业务消息,应用无法访问,开发人员查看日志后发现无法连接数据库. 查看数 ...

  7. [Linux]常用命令之【hostname】

    1: 个人的片面理解: hostname是主机名(的"昵称"),而非域名.一般设置hostname,来标识当前机器的主要用途.以区别与其它机器 2: hostname的严格定义: ...

  8. 让SQL起飞(优化)

    最近博主看完了<SQL进阶教程>这本书,看完后给博主打开了SQL世界的新大门,对于 SQL 的理解不在局限于以前的常规用法.借用其他读者的评论, ❝ 读完醍醐灌顶,对SQL做到了知其然更能 ...

  9. 【Python爬虫(一)】XPath

    解析方式:XPath XPath的基本使用 1 安装lxml库 conda install lxml 下载慢的话可以试一下热点或切换下载源 2 导入etree from lxml import etr ...

  10. 文盘Rust -- 用Tokio实现简易任务池

    作者:京东科技 贾世闻 Tokio 无疑是 Rust 世界中最优秀的异步Runtime实现.非阻塞的特性带来了优异的性能,但是在实际的开发中我们往往需要在某些情况下阻塞任务来实现某些功能. 我们看看下 ...