如何批量修改 GitHub 代码提交作者
批量修改 GitHub 代码提交作者需要进行以下步骤:
首先,你需要 clone 远程仓库到本地,使用以下命令:
git clone <repository-url>
``` 将 `<repository-url>` 替换为要克隆的仓库的 URL。进入到克隆下来的代码库目录,使用以下命令查看所有提交记录:
git log
``` 检查要修改的提交记录的哈希值。使用以下命令将要修改的提交记录的作者和邮箱修改为新的作者和邮箱:
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过的分支才会修改哦!所以需要提交每个远程分支都拉一下)
使用以下命令强制推送修改后的提交记录到远程仓库:
git push --force --tags origin 'refs/heads/*'
``` 这个命令会将修改后的提交记录推送到所有分支和标签。
请注意,由于这个操作会修改历史提交记录,因此可能会影响其他开发者的代码库。如果其他开发者基于修改前的提交记录进行了开发,可能会导致代码库的不一致性或冲突,因此在进行此操作之前,请确保已经与其他开发者进行了充分的协商和确认。此外,建议在执行此操作之前先对代码库进行备份。
另外,如果你是多人协作开发的团队,建议在进行此操作之前与其他成员进行充分的沟通和确认,以避免不必要的冲突和误解。
如何批量修改 GitHub 代码提交作者的更多相关文章
- 修改Github上提交日志
bash: git rebase -i HEAD~5:假定你要修改的日志位于当前版本(HEAD)的前4次提交中. vi: pick -> reword:在自动打开的vi编辑器中,上下选择你要修改 ...
- [转]修改github已提交的用户名和邮箱
改变作者信息 为改变已经存在的 commit 的用户名和/或邮箱地址,你必须重写你 Git repo 的整个历史. 警告:这种行为对你的 repo 的历史具有破坏性.如果你的 repo 是与他人协同工 ...
- GitHUb 代码提交遇到的问题以及解决办法
git 添加代码出现以下错误: fatal: Unable to create 'F:/wamp/www/ThinkPhpStudy/.git/index.lock': File exists. If ...
- 如何修改Github上提交的错误用户地址和姓名
Changing author info https://help.github.com/articles/changing-author-info/ To change the name an ...
- 加速国内Github代码下载速度
标题: 加速国内Github代码下载速度 作者: 梦幻之心星 347369787@QQ.com 标签: [Github, 代码, 下载] 目录: 代码 日期: 2019-10-27 目录 前提说明 解 ...
- mybatis批量修改
使用mybats经常要用到批量修改或者删除,贴出批量修改的代码.如果是批量删除,可将update换成delete. <update id="changestatus" par ...
- springmvc使用list集合实现商品列表的批量修改
1将表单的数据绑定到List 1.1 需求 实现商品数据的批量修改. 1.2 需求分析 要想实现商品数据的批量修改,需要在商品列表中可以对商品信息进行修改,饼干且可以批量提交修改后的商品数据. 1.3 ...
- Python批量修改文件名(os库)
问题: 在某一文件夹内有97个sql文件,全部都以统一格式命名,例如“A201222-广州李小龙纪念协会-1-广州李小龙纪念协会-2018.AUD” 由于有两段重复了,而且中间的“1”也没有意义,需要 ...
- Github如何提交修改的代码以及更新到最新版本
最近有人问我,Github上如何把修改fork到的代码提交到原版本上去,以及如何更新到最新的版本.只针对初学者,大神的话勿喷. 首先说第一个问题. 进入到你修改的某个repository里面(以本人的 ...
- git修改提交作者和邮箱
作用一名程序员,我们会经常混迹与不同的代码仓库,时常不同仓库会有作者信息验证.比如公司内建的gitlab一般会要求统一使用公司内部的域账号签名:github要求使用github账号签名等.因此,很容易 ...
随机推荐
- jQ的事件
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 驱动开发:内核使用IO/DPC定时器
本章将继续探索驱动开发中的基础部分,定时器在内核中同样很常用,在内核中定时器可以使用两种,即IO定时器,以及DPC定时器,一般来说IO定时器是DDK中提供的一种,该定时器可以为间隔为N秒做定时,但如果 ...
- cs 保研经验贴 | 综合面试题库
绝大部分夏令营都需要面试:如果幸运的话,稍微问几个问题就结束了:不幸的话,可能要抓住你做项目.读论文.复现.做 pre 等等. 这篇博客适用于幸运的情况:绝大部分学校的面试题库,都是彼此重合的,并且一 ...
- Docker容器中使用GPU
背景 容器封装了应用程序的依赖项,以提供可重复和可靠的应用程序和服务执行,而无需整个虚拟机的开销.如果您曾经花了一天的时间为一个科学或 深度学习 应用程序提供一个包含大量软件包的服务器,或者已经花费数 ...
- pandas安装1
Python 官方标准发行版并没有自带 Pandas 库,因此需要另行安装.除了标准发行版外,还有一些第三方机构发布的 Python 免费发行版, 它们在官方版本的基础上开发而来,并有针对性的提前安装 ...
- odoo 开发入门教程系列-添加修饰
添加修饰 我们的房地产模块现在从商业角度来看是有意义的.我们创建了特定的视图,添加了几个操作按钮和约束.然而,我们的用户界面仍然有点粗糙.我们希望为列表视图添加一些颜色,并使一些字段和按钮有条件地消失 ...
- spring-boot-starter-parent not found
项目开始的springboot版本为2.6.6 <parent> <groupId>org.springframework.boot</groupId> <a ...
- 迁移学习《Cluster-Guided Semi-Supervised Domain Adaptation for Imbalanced Medical Image Classification》
论文信息 论文标题:Cluster-Guided Semi-Supervised Domain Adaptation for Imbalanced Medical Image Classificati ...
- 你知道Vue响应式数据原理吗
1. Vue2的响应式式原理主要是通过Object.defineProperty的方法里面的setter和getter方法的观察者模式来实现.也就是在组件的初始话阶段给每一个data属性都注册一个se ...
- STM32下载ELF文件、最小可执行bin文件测试
1.STM32能下载ELF格式的文件吗? 答:可以.因为所谓的bin文件就是ELF文件的.text代码段. 当然前提是下载工具能识别ELF文件格式,STM32下载ELF文件并不意味着STM32可以把E ...