git批量修改已经提交的commit的姓名和邮箱

 

首先,我们创建change.sh脚本,并根据个人信息复制以下脚本。 #!/bin/sh

git filter-branch --env-filter ‘ OLD_EMAIL="填写原来的邮箱" CORRECT_NAME="填写现在的名称" CORRECT_EMAIL="填写现在的邮箱" 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

将脚本移入要修改的git仓库,并执行脚本。修改后的 log 信息如下。

3

通过git push --force强行推送修改后的 log 信息。

哈哈,我的 github又重新绿了起来。

https://stackoverflow.com/questions/750172/how-to-change-the-author-and-committer-name-and-e-mail-of-multiple-commits-in-gi?rq=1 https://help.github.com/articles/changing-author-info/

原文地址:https://www.cnblogs.com/codeking100/p/10324579.html

时间: 2024-08-02 16:23:55

git批量修改已经提交的commit的姓名和邮箱的相关文章

Git批量修改提交历史

有些时候我们可能需要批量修改提交历史,当然了,最近一次的提交历史很简单我们可以利用 git commit --amend 来进行最近一次提交的修改,如果你此时想要更新作者提交时间等也可以在amend之后加上 --date="$(date -R)" 但是很多时候我们需要更改的往往不是一条两条提交信息,有些时候需要批量更改提交历史,这个时候我们就可以用到git rebase -i(--interactive)这个选项了. 首先第一步,你需要确定你需要更改历史的范围,比如A-B-C-D,你此

EASYUI datagrid批量修改与提交

http://www.cnblogs.com/szytwo/archive/2012/08/29/2662169.html 前台主要代码: <script type="text/javascript">    $(function() {        var $dg = $("#dg");        $dg.datagrid({            url : "servlet/list",            width

git fork代码并修改胡提交到自己的git仓库

最近在参加阿里天池大数据中间件比赛(毫无头绪,打酱油中).看参赛要求,需要将官网的git工程clone下来,在此基础上做修改后提交到自己的仓库中. 由于以前并没有使用过git,所以差了比较多的资料,做了不少尝试,现在终于搞成了. 主要参考了这个链接:http://blog.csdn.net/killzero/article/details/10441169 1.首先需要在git仓库中建立自己的工程,我这直接fork了官方demo,地址为:[email protected]:middlewarer

git使用&lt;二&gt;:提交注释的修改

详细参考https://help.github.com/articles/changing-a-commit-message/ 修改注释: 1.修改最近一次的提交:git commit --amend 2.修改历史提交的注释:先调出最近n次的提交注释:git rebase -i HEAD~n,然后将需要修改的注释修改为:reword,接着会依次让你修改日志 操作实例: 由于不好说明,具体操作看下图 a.先看一下最近几次提交的注释:git log -n 4 b.准备进行修改:git rebase

6.Git内容修改之后的查看和提交

我们已经成功地添加并提交了一个readme.txt文件,现在,是时候继续工作了,于是,我们继续修改readme.txt文件,改成如下内容: Git is a distributed version control system. Git is free software. 现在,运行git status命令看看结果: $ git status # On branch master # Changes not staged for commit: # (use "git add <file&

git 打补丁,即git review之后需要二次修改并提交代码

假如代码已经push上去了,可是当review时,发现有地方需要修改,你可以继续在本地修改你的文件,之后git status查看修改的文件,然后git add修改的文件,此时不能直接git commit了,因为git commit之后会产生新的commit ID,而你想做的是把这次的修改与上次的修改合并到一起,所以这次要commit到之前生成的ID上边,在git中这样的操作叫做打patch.这里我只会用git GUI commit到上一次ID中: 1>     跟第一次修改一样进行git add

git分支合并、撤销;git修改已push的commit信息; git 撤销操作;

git分支合并 1.分支代码提交 2.git branch 查询本地分支 3.git checkout 分支名1 切换分支到需要合并的分支上 4.git merge 分支名2  //选择要合并到 分支名1 的分支名2 eg: 如果develop_screen分支合并到develop分支上,这个时候切换到develop分支上, git merge develop_screen 5.合并之后可能会有冲突,可用git status 查看冲突代码 <<<<<<<  ===

解决git提交敏感信息(回退git版本库到某一个commit)

解决git提交敏感信息(回退git版本库到某一个commit) Fri 07 June 2013 git是一个很好的版本库, 现在很多人用它, 并在github上创建项目, 相信大家都有过将敏感信息提交版本的经历, 如何删除? 好像只有删除版本库来解决, 其实我们可以通过回退版本库删除相应的commit来将提交的敏感信息去掉. 备份本地代码 首先我们将本地代码的更改备份一下, 以防丢失更改 回退本地代码的commit 备份完数据, 我们就可以先回退本地的版本库 git reset --hard

通过git rebase修改commit message

今天发现一个项目的git commit message中的单词拼错了,需要修改一下.但这样简单的修改,需要通过git rebase才能完成. 首先要git rebase到需要修改message的那个commit的前1个commit.假设commit id是32e0a87f,运行下面的git rebase命令: git rebase -i 32e0a87f 在git bash中运行上面的命令后,会弹出编辑框,在编辑框中会分行依次显示以pick开头的这个commit之后的所有commit messa