内网提交需要校验企业邮箱,但有时邮箱设置错误导致 commit
的邮箱有问题,此时可以通过修改已提交记录中的邮箱来修复,无需重新提交。
经过检索,发现两种方法,分别适用于修改一次和修改多次,引文在最后都有注明。
修改最近一次提交的邮箱
$gitcommit--amend--author="NewAuthor"
批量修改邮箱
使用该脚本,替换其中 [Your Old Email]
[Your New Author Name]
[Your New Email]
之后在 git 目录中执行即可。
#!/bin/sh
gitfilter-branch--env-filter'
an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"
if["$GIT_COMMITTER_EMAIL"="[YourOldEmail]"]
then
cn="[YourNewAuthorName]"
cm="[YourNewEmail]"
fi
if["$GIT_AUTHOR_EMAIL"="[YourOldEmail]"]
then
an="[YourNewAuthorName]"
am="[YourNewEmail]"
fi
exportGIT_AUTHOR_NAME="$an"
exportGIT_AUTHOR_EMAIL="$am"
exportGIT_COMMITTER_NAME="$cn"
exportGIT_COMMITTER_EMAIL="$cm"
Q&A
Cannotcreateanewbackup.
Apreviousbackupalreadyexistsinrefs/original/
Forceoverwritingthebackupwith-f
出现这一句说明之前曾经执行过 git filter-branch
,在 refs/original/
有一个备份,这个时候只要删掉那个备份即可,删除备份命令为:
$gitupdate-ref-drefs/original/refs/heads/master
#或
$gitfilter-branch-f--tree-filter-f'rm-ftest'----all
参考文献
- git 修改提交作者和邮箱
- git 修改历史提交的用户名和邮箱
审核编辑 :李倩
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
Git
+关注
关注
0文章
196浏览量
15736 -
脚本
+关注
关注
1文章
387浏览量
14832
原文标题:如何快速批量修改 Git 提交记录中的用户信息
文章出处:【微信号:良许Linux,微信公众号:良许Linux】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
git命令的基本使用
git config 第一次使用git或者刚安装的git时,使用此命令设置身份Name 和 Eamail 地址。并且每次提交时会使用此信息。
飞凌ElfBoard ELF 1板卡-ubuntu18.04 git安装及基本使用
git commit -m xxx(xxx代表备注信息)
6.查看提交记录git log
7.查看分支g
发表于 03-21 16:23
git之推送提交
这两天试着使用了git的推送,把本地的文件上传到仓库,中间遇到点问题,就是本地的仓库文件和远端的仓库相比,多出来一些文件,是我自己新产生的,于是push不是很顺利,特此记录下来,主要参考了如
发表于 12-17 09:20
git简单使用(一)
本帖最后由 iysheng 于 2017-2-19 23:09 编辑
编程,经常会修改代码,不管是将代码托管到本地还是网上,使用git进行版本控制无疑是比较流行的方法。今天我就记录下如何创建
发表于 02-17 16:18
Protel DXP批量修改如何使用
Protel DXP批量修改如何使用
Protel DXP批量修改的某些方面比Protel 99se还要简单,在弄清楚Protel DXP批量
发表于 07-02 10:09
•3824次阅读
第一本Git命令教程(六) - 日志
。有三种 Git 命令可以帮我们查看记录,痞子衡为大家一一讲解: 1. 查看本地历史提交 git log git log 是最直接的查看历史
git rebase和git merge的区别
"origin"已经有了 2 个提交,如图。 现在我们在这个分支做一些修改,然后生成两个提交(commit)。 $ vi file.txt$ git commit$ vi othe
git如何记录每次更新到仓库
记录每次更新到仓库 工作目录下的每一个文件都不外乎这两种状态:已跟踪 或 未跟踪。 已跟踪包括:已提交(committed)、已修改(modified) 和 已暂存(staged) 检查当前文件状态
git中如何查看提交历史
查看提交历史 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。完成这个任务最简单而又有效的工具是 git log 命令。 我们使用一个非常简单的 “simplegi
如何在 Git 中恢复隐藏的修改记录
像 git stash 和 git stash pop 这样的命令是用来搁置(藏匿)和恢复我们工作目录中的变化的。在本教程中,我们将学习如何在 Gi
Git中最常用的命令介绍
git add命令用于将修改的文件添加到下一次提交的暂存区。你可以指定要添加的文件git add命令用于将修改的文件添加到下一次
发表于 10-26 10:27
•235次阅读
评论