`
san_yun
  • 浏览: 2662629 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

git问题-修改历史的 commit 的 user.email

    博客分类:
  • git
 
阅读更多

装了新电脑,不小心提交了一个错误的email地址,需要把本地已经commit的内容修改掉。脚本如下:

#!/bin/sh

git filter-branch --env-filter '

an="$GIT_AUTHOR_NAME"
am="$GIT_AUTHOR_EMAIL"
cn="$GIT_COMMITTER_NAME"
cm="$GIT_COMMITTER_EMAIL"

if [ "$GIT_COMMITTER_EMAIL" = "your@email.to.match" ]
then
    cn="Your New Committer Name"
    cm="Your New Committer Email"
fi
if [ "$GIT_AUTHOR_EMAIL" = "your@email.to.match" ]
then
    an="Your New Author Name"
    am="Your New Author Email"
fi

export GIT_AUTHOR_NAME="$an"
export GIT_AUTHOR_EMAIL="$am"
export GIT_COMMITTER_NAME="$cn"
export GIT_COMMITTER_EMAIL="$cm"
'

 

 

注意:这个操作会将你的 commit 历史完全破坏掉,所以操作的时候需要谨慎

参考资料:
分享到:
评论

相关推荐

    git安装包git-2.34.0-64-bit.rar

    使用`git config --global user.name "Your Name"`和`git config --global user.email "you@example.com"`命令进行设置。 3. **工作流程**:Git的主要工作流程包括克隆仓库、在本地创建和切换分支、添加(Stage)...

    Git-2.28.0-64-bit git安装包windos64位官方下载

    通过命令`git config --global user.name "你的名字"`和`git config --global user.email "你的邮箱"`来完成。 **Git常用命令** 1. **克隆仓库**:`git clone <url>`,将远程仓库复制到本地。 2. **添加文件**:`...

    Git-2.29.1-64-bit.zip

    - **配置用户信息**:安装完成后,通过命令行运行`git config --global user.name "Your Name"`和`git config --global user.email "your-email@example.com"`设置用户名和邮箱。 - **设置文本编辑器**:如果需要...

    Git-2.21.0-64-bit.zip

    Git是分布式版本控制系统,用于跟踪对软件项目中的文件和目录的修改。Git-2.21.0-64-bit.zip是一个包含Git的特定版本,即2.21.0的64位版本的压缩文件,适用于Windows操作系统。这个压缩包解压后会得到Git-2.21.0-64-...

    Git-2.22.0-64-bit.rar

    Git是世界上最流行的分布式版本控制系统,它允许开发人员协作并跟踪代码的更改历史。Git-2.22.0-64-bit.rar是一个包含Git 2.22.0版本的64位安装程序的压缩文件,适用于Windows操作系统。在Windows上安装Git,首先...

    git入门.txt

    git config --global user.email " " 初始化 git init 将文件添加到库 git add -A 提交到库 git commit -m " " 初始化仓库位置 git remote add origin 推送到云端 git push -u -f origin master

    git-2.25.0.tar.gz

    - **提交更改**:执行`git commit -m "Commit message"`保存更改。 - **查看状态**:用`git status`查看仓库当前状态。 5. **分支和合并** - **创建分支**:使用`git branch <branch-name>`创建新分支。 - **...

    Git-1.9.5-preview20150319资源及安装指导

    Git的常用命令包括`git init`(初始化仓库)、`git clone`(克隆远程仓库)、`git add`(添加文件到暂存区)、`git commit`(提交更改)、`git push`(推送本地更改到远程仓库)和`git pull`(拉取远程仓库的最新...

    git-2.45.0(含32和64位)便携式(拇指驱动器版).zip

    - 用户信息:使用`git config --global user.name "用户名"`和`git config --global user.email "邮箱"`设置全局Git用户信息。 - 集成编辑器:通过`git config --global core.editor "editor-name"`指定默认的文本...

    Git-2.24.0.2-64-bit.zip

    在使用Git时,开发者会接触到一系列命令,如`git init`用来初始化一个新的Git仓库,`git clone`用于复制远程仓库,`git add`用于将更改添加到暂存区,`git commit`用于保存暂存区的更改到本地仓库,`git push`则用于...

    PortableGit-2.16.2-64-bit.7z.rar

    用户可以根据自己的需求配置Git,如设置用户名和邮箱(`git config --global user.name "Your Name"`和`git config --global user.email "your.email@example.com"`),调整编辑器(`git config --global core.editor ...

    Git-2.39.0.2-win-x64

    git config user.email "你的邮箱" 设置当前目录的git名字、邮箱 git config --global user.name "你的名字" git config --global user.email "你的邮箱" 设置全局git名字、邮箱 (小知识,在git clone时使用ssh会更...

    github提交代码时报husky错误

    > git config --get-all user.email 由于现在git可视化工具比较多,这个错误对于对git不了解的人来说非常不好解决。经过几天的查找,解决方式非常简单。 出现这个问题一般都是用了网上的模板,写模板的人尽量把模板...

    github-git-cheat-sheet-rt.pdf

    使用`git config --global user.name "[name]"`命令来设置您希望附加到提交事务的名称,并用`git config --global user.email "[emailaddress]"`来设置希望附加到提交事务的电子邮件地址。另外,使用`git config --...

    Git-windows最新版本-2.28.0-64位

    Git的配置和设置也是其重要组成部分,如设置用户信息(`git config user.name` 和 `git config user.email`)、切换默认文本编辑器(`git config --global core.editor`)以及调整各种行为选项。 总之,Git是现代...

    Git-2.10.2-64-bit TortoiseGit-2.3.0.0-64bit

    例如,`git clone`用于克隆远程仓库,`git add`用于将更改添加到暂存区,`git commit`用于提交更改,`git push`用于将本地更改推送到远程仓库,`git pull`用于获取并合并远程仓库的最新更改。 此外,理解分支管理和...

    Git-1.8.3-preview20130601

    之后,可以使用`git add`添加文件到暂存区,`git commit`提交更改,`git push`将本地更改推送到远程仓库,以及使用`git pull`获取并合并远程仓库的更新。 在日常开发中,`git branch`和`git merge`用于管理分支,`...

    Git-2.16.2-64-bit 最新版与github连接工具

    git config --global user.email "你的邮箱" ``` 接下来,创建一个新的GitHub账户或登录已有的账户,然后创建一个新的仓库或克隆已有的仓库。获取仓库的HTTPS或SSH URL,用于在本地与GitHub仓库建立连接。 要将...

    git命令git命令git命令git命令

    4. 设置邮箱:`git config [--global] user.email "[email address]"` ### 增加/删除文件 管理文件在工作区、暂存区和仓库区之间的状态: 1. 将指定文件添加到暂存区:`git add [file1] [file2] ...` 2. 添加整个...

Global site tag (gtag.js) - Google Analytics