Skip to content

Latest commit

 

History

History
53 lines (48 loc) · 2.39 KB

Contributions未被Github计入.md

File metadata and controls

53 lines (48 loc) · 2.39 KB

Contributions未被Github计入的几个常见原因

  • 进行Commits的用户没有被关联到你的Github帐号中。
  • 不是在这个版本库的默认分支进行的Commit。
  • 这个仓库是一个Fork仓库,而不是独立仓库。

如何排查

你可以在你的本地repo里用git log命令查看commit记录上的个人邮箱是否正确,像我就是因为之前切换到Mac平台开发之后用户名没有配置, 所以我之后的commit记录上的邮箱一直是[email protected],所以Github就会认为这些commits都不是你提交的!

补救措施

然而这也并不是没有补救办法的,Github官网上就有给出详细的补救过程,英语好的同学请自行移步Changing author info , 下面是我翻译自Github Help的简要步骤:

  • 1.进入你的github repo项目目录;
  • 2.复制粘贴如下脚本,并根据你的信息修改以下变量:旧的Email地址,正确的用户名,正确的邮件地址;
git filter-branch --env-filter '
OLD_EMAIL="旧的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
  • 3.在命令行中运行
  • 4.用git log 命令看看新 Git 历史有没有错误
  • 5.把正确历史 push 到 Github
git push --force --tags origin 'refs/heads/*'

如何正确设置你的 git 个人信息

  • 全局设置:所有git repo公用的个人信息
git config --global user.email "你的邮件地址"
git config --global user.name "你的Github用户名"
  • 本地设置:当前git repo使用的个人信息
git config --local user.email "你的邮件地址"
git config --local user.name "你的Github用户名"

有时候,需要使用多个git源,比如,使用github和自己搭建的gitlab,这个时候,如果使用全局配置的是gitlab的个人信息,且与github上的个人信息不一样, 这时,如果你push github的commits,github是不会计入的。所以你必须在你的github中配置local个人信息。