如何批量修改 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账号签名等.因此,很容易 ...
随机推荐
- WebSocket集群解决方案,不用MQ
首先不了解WebSocket的可以先看看这篇文章,以及传统的WebSocket方案是怎么做的,https://www.cnblogs.com/jeremylai7/p/16875115.html ...
- react中登录注册 使用验证码验证
后端接口 var express = require('express'); var router = express.Router(); var User = require('./../sql/c ...
- Python 霸榜的一周,又有什么新 AI 力作呢?「GitHub 热点速览」
GPT 带火了一波语言模型,LLaMA 和 Alpaca 也在持续发力.依旧是各类 GPT 后缀霸榜 GitHub trending 的一周,为此特推部分专门收录了两个比较不错的 GPT 应用.而作为 ...
- odoo 开发入门教程系列-计算的字段和变更(Computed Fields And Onchanges)
计算的字段和变更(Computed Fields And Onchanges) 模型之间的关系是任何Odoo模块的关键组成部分.它们对于任何业务案例的建模都是必要的.然而,我们可能需要给定模型中字段之 ...
- SimpleAdmin手摸手教学之:项目架构设计2.0
一.说明 在SimpleAdmin1.0版本中,我将整体项目结构分为三大块,分别为架构核心.业务模块和应用服务.随着1.0版本的封版,回去再看我之前的项目架构,也暴露了一些问题,比如在1.0版本中,S ...
- win32print常用函数
这里整理下win32print的API介绍,官网地址http://timgolden.me.uk/pywin32-docs/win32print.html OpenPrinter 打开指定的打印机,并 ...
- LeeCode哈希问题(一)
LeeCode 242: 有效的字母异位词 题目描述: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词.若 s 和 t 中每个字符出现的次数都相同,则称互为字母异位词. ...
- 【D02】Bootstrap免费精选模板推荐,附上Django中使用模板教程
前端模板 - Anchor UI KIT 前言 今天介绍一款制作精良.开源.免费的 Bootstrap 模板 -- Anchor UI KIT 该模板使用的是Bootstrap v4版本 本文将介绍如 ...
- Windows 本地安装mysql8.0
前言 看了网上许多关于Windows 本地安装mysql的很多教程,基本上大同小异.但是安装软件有时就可能因为一个细节安装失败.我也是综合了很多个教程才安装好的,所以本教程可能也不是普遍适合的.现我将 ...
- Redis(三)jedis与锁
1 Jedis 引入依赖 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis ...