提交代码至github中没有点亮绿色贡献值&修改git提交记录信息

绿色图标未被点亮

一般来说图标未被点亮,是因为本地git配置中email地址与github中的地址不同导致

  1. 查看本地git配置中email地址(打开Git Bash Here)执行:
git config user.email
  1. 然后查询github中配置email是否与git中相同

    这里面有个坑,在进行比对邮箱时一定要注意!!!情况一与情况二完全两个东西,虽然邮箱都一样,但是它俩完全不是一个东西,一个有 ' ' ,一个是正常的*
  2. 如果发现邮箱不一样,需要设置为与github中一样的邮箱地址
git config --global user.email '你的邮箱地址'

确保两个邮箱一致,一般来说再次提交代码,绿色贡献图标将会被点亮

如何将你错误邮箱地址提交的代码修改后同步到github中,并重新点亮贡献值

  1. 编写解决方案脚本
  • 情况一,当本地git中只有你一个人的提交记录时,在项目中新建 renamesh.sh,并填写如下内容:
git filter-branch -f --env-filter "
GIT_AUTHOR_NAME='名称(可随意写)';
GIT_AUTHOR_EMAIL='邮箱地址';
GIT_COMMITTER_NAME='名称(可随意写)';
GIT_COMMITTER_EMAIL='邮箱地址'
" HEAD
  • 情况二,当有多人提交记录而你只想修改自己提交记录内容时:
git filter-branch -f --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

  1. 在执行脚本之前,先查看本地分支和远程分支是否同步
  • 使用Git命令查看所有远程分支:git branch -r
  • 使用Git命令查看所有本地分支:git branch
    如若不同步,请自行创建并拉取分支 git checkout -b 本地分支名x origin/远程分支名x
  1. 执行脚本文件(打开Git Bash Here)
chmod +x renamesh.sh 
./renamesh.sh
  • 执行 git log 查看记录是否被更改
  1. 提交正确的历史记录至github
git push --force --tags origin 'refs/heads/*'
  • 参考
    https://blog.csdn.net/ouyang_peng/article/details/75329779

你可能感兴趣的:(提交代码至github中没有点亮绿色贡献值&修改git提交记录信息)