修改GIT已提交的用户名和邮箱

修改GIT已提交的用户名和邮箱

原文:https://help.github.com/en/github/using-git/changing-author-info

说明

要更改在现有提交中记录的名称和/或电子邮件地址,必须重写Git存储库的整个历史。

警告:此操作会破坏存储库的历史记录。如果您正在与其他人协作创建存储库,则重写已发布的历史记录被认为是不好的做法。你应该只在紧急情况下这样做。

使用脚本更改存储库的Git历史记录

使用下面的脚本,更改已提交数据的author或committer。

操作步骤:

  1. 打开Linux Terminal(终端),如果是WIndow系统打开 Git Bash。
  2. 创建一个你的 repo 的全新裸 clone (repo.git 替换为实际项目)
git clone --bare https://github.com/user/repo.git
cd repo.git
  1. 复制并粘贴脚本,根据实际情况替换以下变量:
    OLD_EMAIL 要替换的旧邮箱
    CORRECT_NAME 当前用户名
    CORRECT_EMAIL 当前邮箱
    脚本:
#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="[email protected]"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="[email protected]"

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
  1. 按 Enter 执行脚本。
  2. 查看新 Git 历史有没有错误。
  3. 把正确历史 push 到 Github :
git push --force --tags origin 'refs/heads/*'
  1. 清理临时clone:
cd ..
rm -rf repo.git

原文地址:https://www.cnblogs.com/relucent/p/11916865.html

时间: 2024-07-30 03:06:08

修改GIT已提交的用户名和邮箱的相关文章

如何修改git全局初始化的用户名和邮箱? (git修改user.name 和user.email)

转自:https://blog.csdn.net/sjt19910311/article/details/83685616 今天刚刚入门了下git,,然后初始化的时候将用户名弄错了...就很气啊.然后网上找了半天都找不出一个可靠的修改全局用户名和邮箱的方法.. 最后还是自己摸索出来了..其实也很简单. 首先进入git bash 0: 输入$ git config --list 可以查看配置的一些东西.可以看到user.name 和user.email  分别是什么..如果你没有初始化过.那么直接

如何修改SVN已提交项目的message log

直接在TortoiseSVN中修改过往日志,会提示: DAV request failed;it's possible that the repository's pre-revprop-change hook either failed or is non-existentAt least one property change failed; repository is unchanged. 因为SVN库中的日志本身是没有进行版本管理的,为防止误操作导致原日志信息丢失,所以缺省禁止对其进行修

修改git提交的用户名和密码

目的:每个项目自定义Git提交的用户名和邮箱 1.在本地找到某个项目所在的地址 2.找到config文件 3.增加如下配置 4. ok,这样每个项目都可以定义提交者姓名和邮箱了 原文地址:https://www.cnblogs.com/zhangjianbing/p/9360716.html

zbb20180103 git 配置用户名和邮箱

git 配置用户名和邮箱 在安装了git for windows之后,个人总是忘记配置git config的命令,以此记录一下: 配置用户名和邮箱的命令 1 git config --global user.name "youname" 2 git config --global user.email "[email protected]" 最后可以通过 git config -l 这个命令查看已配置的用户名和邮箱信息 原文地址:https://www.cnblog

git远程提交失败

同步仓库并解决403报错 这时候对本地仓库和github进行同步 # git push -u origin master error: The requested URL returned error: 403 Forbidden while accessing https://github.com/user/test.git/info/refs fatal: HTTP request failed 提示403 Forbidden! 打开开关看详细日志 # export GIT_CURL_VER

GIT 查看/修改用户名和邮箱地址

git中用户名和邮箱地址的作用: 用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 查看用户名和邮箱地址: $ git config user.name $ git config user.email 修改用户名和邮箱地址: $ git config --global user.name "username" $ git config --global user

git 修改最后一次提交的用户名 或者 commit的内容

修改git最后一次提交的命令 $ git commit --amend 修改git最后一次提交用户名的相关命令 git config user.name 'wangz' git config user.email 'wangz@alib.com' git commit --amend --author=wangz 修改最后一次提交内容的相关文档 $ git commit --amend --help usage: git commit [options] [--] <pathspec>...

git查看/修改 用户名和邮箱

用户名和邮箱地址的作用 用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. github的contributions统计就是按邮箱来统计的. 查看用户名和邮箱地址: $ git config user.name $ git config user.email 修改用户名和邮箱地址: $ git config --global user.name "username" $ git config --global user.emai

git修改用户名和邮箱

用户名和邮箱地址是本地git客户端的一个变量,不随git库而改变. 每次commit都会用用户名和邮箱纪录. 1.查看用户名和地址 git config user.name git config user.email 2.修改用户名和地址 git config --global user.name "your name" git config --global user.email "your email" 原文地址:https://www.cnblogs.com/