陽楷锴的小港
391 字
2 分钟
Bug+1: 用终端commit GitHub远程仓库时用户识别错误
2020-10-24
无标签

这是一篇比较水的文章。

闲着没事去本博客所在的GitHub repo看了看,结果发现一堆其他人的commit。 本repo的commit历史页面

遂点开commit详情查看内容,发现确实是我提交的东西。。。 这我就很奇怪了,于是打开那个人的首页,发现并没有看到有在我的repo里有过任何提交。。。 神秘人物的GitHub首页

难道这是个bug?

于是乎我去联系了GitHub Support,发现是我在复制GitHub提供的no-reply邮箱地址的时候少了一位,结果出现了这样的问题。

但是我很好奇的是,为什么会出现这样的问题,因为我只是填错了邮箱地址,但是我的GitHub Personal Access Token是正确的。也就是说,我用一个不存在的邮箱地址,以及SkyYkb的Token,就能把commit放到别人的名义下面去,虽然并不会在别人的首页显示。

仿佛看到了什么危险的东西啊。。。

解决方案#

经过一番Google,发现一个Gist提供了解决方案:

git rebase -i HEAD~<number of commits> -x "git commit --amend --author 'Author Name <[email protected]>' --no-edit"

但是缺点是会导致在GitHub上显示出的commit时间是你执行之后的时间。 但无论如何作者变回来了。 但是在GitHub的边栏仍然会留有那个神秘人物的名字。 边栏上的Contributors

这个时候就直接找GitHub Support说明情况就可以了。或者稍微等一等也可以。