github的contributions的绿格没有了!?

这段时间一直在自学前端框架,做了很多小东西,眼看着自己的github也在不断的变绿,没想到人的满足感竟然被这一面墙的绿格子所驯服

满屏的深绿估计是很多人炫耀的资本,本人不是什么大牛,不过自己辛辛苦苦一行一行调试好了,最后连这点炫耀的记录都不给显示!!git你要翻天啊!

本来想着就这几天的,没了自己认倒霉,可是今天一搜索,没想到是可以恢复的,太NM的神奇了,一下是我查询到的恢复github commits记录及统计的办法

首先要分析为什么你的提交记录没有被github识别:

  • 进行Commits的用户没有被关联到你的Github帐号中。

  • 不是在这个版本库的默认分支进行的Commit。

  • 这个仓库是一个Fork仓库,而不是独立仓库。

我估计很多人和我一样都是第一个原因,初用github远程管理代码和那些经常更换使用机器的猿极有可能用错账户名和邮箱,其实我在修改自己的原来的用户名和邮箱是就发现,

当初设置的用户名竟然是自己的密码。。。。用户名是邮箱,但是为什么平时可以正常提交呢。。。想想才反应过来,我都不用bash去push,而是在git的图形工具里进行diff和push,

那就难怪了,在GUI里,一般都是默认提交时输入邮箱和密码的,这里又有一个坑,我每次都是在用户那一个alert里输入自己的邮箱,然后是密码,这里要说,如果你输入邮箱,

就一定要注意你的这个提交账户和简历repo的账户名要关联,不然够呛了,你辛辛苦苦改了几个月发现那个炫富的绿墙里什么鬼都没有,呵呵

至于下面的两个原因应该在多人合作开发中会遇到吧

下面是解决的办法:

这是github官方的办法,全英文

https://help.github.com/articles/changing-author-info/

然后我一直在疑惑里面说的那个script在哪里,后来在另外一个大侠那里找到答案了。。。那块被墙了。。。对,那块代码在天朝看不到

贴出来吧:(请按说明修改5,6,7行的内容)

 1 #!/bin/sh
 2 
 3 git filter-branch --env-filter '
 4 
 5 OLD_EMAIL="错误记录里的邮箱"
 6 CORRECT_NAME="github账户名"
 7 CORRECT_EMAIL="正确的账户邮箱"
 8 
 9 if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
10 then
11     export GIT_COMMITTER_NAME="$CORRECT_NAME"
12     export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
13 fi
14 if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
15 then
16     export GIT_AUTHOR_NAME="$CORRECT_NAME"
17     export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
18 fi
19 ' --tag-name-filter cat -- --branches --tags

然后在bash里执行如下代码,user替换成你的github账户名,repo.git替换成你的repo的名字

1 git clone --bare https://github.com/user/repo.git
2 cd repo.git

以上执行后,把上面的script新建成一个.sh的shell脚本文件存到repo.git这个目录里,然后在bash里执行它,就是在目录下找到对应的test.sh,然后回车的意思

然后会出现执行的提示,之后只要不报错,就自动结束了,之后

1 git push --force --tags origin 'refs/heads/*

最后把这个临时down下来的repo目录删掉就行,一切大功告成

再去看的你的github首页,丢失的绿格子都回来了。

posted @ 2016-04-12 10:13  小马哥的代码学习  阅读(4058)  评论(7编辑  收藏  举报