如果发现你的github contributions 面板没有变成绿色,怎么办?!

小熊 玩转Git评论4,481字数 786阅读2分37秒阅读模式

如果发现你的github contributions 面板没有变成绿色,怎么办?!

修改用户名邮箱

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

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

修改已提交的最后一次commit

修改最近一次

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

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

批量修改历史所有提交

在你的本地项目下面,新建脚本modify.sh,把未提交的缓存起来git stash

#!/bin/bash

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" = "要修改的@邮箱地址.com" ]
then
    cn="想要改成的用户名"
    cm="想要改成的邮箱"
fi
if [ "GIT_AUTHOR_EMAIL" = "要修改的@邮箱地址.com" ]
then
    an="想要改成的用户名"
    am="想要改成的邮箱"
fi
    export GIT_AUTHOR_NAME="an"
    export GIT_AUTHOR_EMAIL="am"
    export GIT_COMMITTER_NAME="cn"
    export GIT_COMMITTER_EMAIL="cm"
'

执行脚本

bash modify.sh

最后回复工作区

git stash pop

如此即可

引用

git 修改已提交的某一次的邮箱和用户信息
git中 修改已提交的commit的用户名邮箱

weinxin
公众号
扫码订阅最新深度技术文,回复【资源】获取技术大礼包
小熊