Git没有记录你的Contributions的修复记

星期二, 2018-05-15 | Author: Lee | JAVA-and-J2EE, linux | 2,281 views

1.可以通过git log 查看提交的用户不一致造成的,只要调整成一致的用户即可(主要是email地址)

2.全局指定用户信息(如果有不同的账号信息,见3配置,可能公司和个人不同的git账号)

git config --global user.email "你的邮件地址"
git config --global user.name "你的Git用户名"

3.配置指定的git项目的config文件从而使每个独立账号
修改(.git下的config文件)
新增内容如下:
[user]
name = 正确的用户名
email = 正确的邮件地址

4.git提交历史的恢复及修改错误的email(若很在意提交的email信息请谨慎执行,比如把公司的email信息带到了log中,本人已验证可以正确执行)
重新clone 一份操作
4.1复制粘贴脚本,并根据你的信息修改以下变量:旧的Email地址,正确的用户名,正确的邮件地址

#!/bin/sh
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

4.2按 Enter键 执行脚本。

4.3用git log命令看看新 Git 历史有没有错误

4.4把正确历史 push 到 Git

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

删除此次的clone
5.现在已经完全记录了你的提交数(4不执行的话,下次提交才会生效)

Tags:

文章作者: Lee

本文地址: https://www.pomelolee.com/1808.html

除非注明,Pomelo Lee文章均为原创,转载请以链接形式标明本文地址

一条评论 to Git没有记录你的Contributions的修复记

lee
2023 年 01 月 11 日

git push origin –force –all 强制推送即可

Leave a comment

Search

文章分类

Links

Meta