前些时候一直没有关注过这个问题,以为 GitHub 不显示头像的原因是头像服务器的锅,如下图
这几天发现提交的代码记录也没有,
后来点了问号才知道原因…
于是找到了官方的解决方案
- 打开终端
- 输入
git config --global user.email "your_email@example.com"
注意替换
your_email@example.com
- 检查邮箱已被正确设置,输入命令
git config --global user.email
如果输出的邮箱为刚才设置的,就可以了
然后再 pull,就能正确显示头像并同步到 DashBoard 中了
然而之前提交到 commit 不知道改如何处理…
2017.3.4 更新:修改 commit 作者信息
Warning: This action is destructive to your repository’s history. If you’re collaborating on a repository with others, it’s considered bad practice to rewrite published history. You should only do this in an emergency.
警告:这种行为对你的 repo 的历史具有破坏性。如果你的 repo 是与他人协同工作的,重写已发布的历史是一种不好的习惯。仅限紧急情况执行该操作。
根据官方的说法,所以涉及到协作的 repo 我都没改了,只拿了三个自己的小坑来做测试。
在操作之前的准备
- 旧的本地邮箱地址
- 正确的用户名与邮箱地址
关于旧的邮箱与地址可以在项目文件夹中输入 git log
来查找
准备完成后,就可以开始修改了
- 打开终端
- 执行
git clone --bare https://github.com/user/repo.git cd repo.git
- 复制粘贴脚本,并根据你的信息修改以下变量
OLD_EMAIL
CORRECT_NAME
CORRECT_EMAIL#!/bin/sh git filter-branch --env-filter 'OLD_EMAIL="your-old-email@example.com" CORRECT_NAME="Your Correct Name" CORRECT_EMAIL="your-correct-email@example.com" 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 push --force --tags origin 'refs/heads/*'
- 最后清除掉这个 repo.git 文件夹即可
这样,commit 的用户信息就能修改成功了~
文章最后修订于 2017年7月22日
评论 (0)