美文网首页基础应用生产力工具Git sourceTree
git中 修改已提交的commit的用户名邮箱

git中 修改已提交的commit的用户名邮箱

作者: ntjsz | 来源:发表于2018-03-21 14:30 被阅读3734次

修改用户名邮箱

git config user.name "newName"
git config user.email "newEmail"

加上--global可以全局修改,否则仅在本git-repo生效。
但是这种修改方式只能对未来的commit生效,过去的commit的用户名邮箱信息是不会改变的,而对已提交的commit修改的方法如下。

修改已提交commit的用户名邮箱

修改最近一次

git commit --amend --author="userName <userEmail>"

注意不能缺少< >
此指令仅能更新最近的一次commit的用户名邮箱

批量修改

git filter-branch --env-filter '
if [ "$GIT_AUTHOR_NAME" = "oldName" ]
then
export GIT_AUTHOR_NAME="newName"
export GIT_AUTHOR_EMAIL="newEmail"
fi
' ref..HEAD

git filter-branch --env-filter '
if [ "$GIT_COMMITTER_NAME" = "oldName" ]
then
export GIT_COMMITTER_NAME="newName"
export GIT_COMMITTER_EMAIL="newEmail"
fi
' ref..HEAD

分别修改AUTHOR_NAME和COMMITTER_NAME,不太清楚二者的区别。
好像GIT_AUTHOR是用来在push时验证用户信息的,所以可以只修改第一个。
其中ref是起始commit的sha-1的简写,指定生效范围为此commit(exclude)到HEAD(include),避免对整个git的提交历史的修改,可以缩短运行时间。
这一方法不知会不会影响已push过的commit,不过一般都是因为用户名没有push权限,才需要纠正commit的用户名,所以无需在意。

如果提示

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

可以加上-f,即git filter-branch -f --env-filter,不明原理,但加上了确实管用,谨慎使用。

相关文章

  • git常用命令

    1. 查看用户名、邮箱 2. 修改用户名、邮箱 3. git add与git commit git add用于添加...

  • git之我的配置

    查看 git 用户名邮箱 修改 git 用户名邮箱 修改提交缓存大小(可选) 配置git的最低速度和最低速度时间:...

  • git 快捷键

    git 常用的一些命令: 1,git用户名与邮箱 查看git用户名与邮箱 修改git用户名与邮箱 2,提交本地代码...

  • Git 修改提交的用户名和邮箱

    Git 修改提交的用户名和邮箱修改提交历史的用户名邮箱(提交已经push到远程仓库)- 1. pull或clone...

  • git账户修改本地提交邮箱和用户名

    git账户修改本地提交邮箱和用户名

  • git常规操作

    查看git用户名和邮箱: 修改git用户名和邮箱: clone链接加上账号密码: git提交操作流程:进入到项目目...

  • git中 修改已提交的commit的用户名邮箱

    修改用户名邮箱 加上--global可以全局修改,否则仅在本git-repo生效。但是这种修改方式只能对未来的co...

  • 指令

    Mac显示隐藏系统文件 全局修改git的用户名和邮箱 提交数据到GitHub 初次提交数据,需要有git信息,如果...

  • 《git权威指南笔记》

    修改提交说明 git commit --amend修改最新提交的提交说明 git rebase -i

  • Git修改提交历史中的作者及邮箱信息

    修改最近一次commit命令,注意邮箱需包括<>尖括号 一、使用rebase 如图,红圈中提交的用户名及邮箱是需要...

网友评论

    本文标题:git中 修改已提交的commit的用户名邮箱

    本文链接:https://www.haomeiwen.com/subject/obrgqftx.html