zoukankan      html  css  js  c++  java
  • 【Git】Github如何弥补提交记录contributions

    提交记录contributions为什么会丢失?

    很多朋友在提交本地项目到gihub时发现,仅仅在项目初始化时才会显示一条contributions,后续再commit就不会有了。这是因为:

    1. 进行Commits的用户、邮箱不是你的Github帐号的用户名和邮箱。
    2. 不是在这个版本库的默认分支进行的Commit。
    3. 这个仓库是一个Fork仓库,而不是独立仓库。

    如何弥补?

    这里只针对第一条“进行Commits的用户、邮箱不是你的Github帐号的用户名和邮箱。”的弥补方式。

    1、将本地开发环境的github的用户名和邮箱改为自己github的。(这个自己查一下,有很多教程,不再详细说明了)。

    2、创建存储库的全新裸克隆:

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

    3、在git bash执行以下两个脚本

    第一个脚本:修改以前邮箱用错的commit记录

    git filter-branch --env-filter '
    OLD_EMAIL="错误的邮箱"
    CORRECT_NAME="github用户名"
    CORRECT_EMAIL="github邮箱"
    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;

    第二个脚本:修改以前用户名用错的commit记录

    git filter-branch --env-filter '
    OLD_NAME="错误的用户名"
    CORRECT_NAME="github用户名"
    CORRECT_EMAIL="github邮箱"
    if [ "$GIT_COMMITTER_NAME" = "$OLD_NAME" ]
    then
        export GIT_COMMITTER_NAME="$CORRECT_NAME"
        export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_NAME" = "$OLD_NAME" ]
    then
        export GIT_AUTHOR_NAME="$CORRECT_NAME"
        export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags;

    4、按Enter键运行脚本。

    5、查看新的Git历史记录是否有错误。

    git log

    6、将更正的历史记录推送到GitHub:

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

     参考:

    https://help.github.com/en/github/setting-up-and-managing-your-github-profile/why-are-my-contributions-not-showing-up-on-my-profile

    https://help.github.com/en/github/using-git/changing-author-info

  • 相关阅读:
    Spring>autoWire
    hibernate>多对多关联映射
    Hibernate>一级缓存
    Hibernate>component映射和复合主键映射
    Struts2>类型转换
    hibernate>继承
    hibernate>悲观锁和乐观锁
    Spring>Bean的作用域
    Struts2>defaultactionref
    数据库的隔离级别
  • 原文地址:https://www.cnblogs.com/kbian/p/12348647.html
Copyright © 2011-2022 走看看