如果你想修改本地提交的用户名和邮箱,可以按照以下方法操作:
1. 修改全局(所有仓库)用户名和邮箱
如果你想修改 全局 Git 配置(影响所有仓库),可以使用:
Default
12
git config --global user.name "你的新用户名"git config --global user.email "你的新邮箱"
示例
Default
12
git config --global user.name "Millie"git config --global user.email "millie@example.com"
✅ 之后的所有提交都会使用这个新的用户名和邮箱。
2. 修改当前仓库的用户名和邮箱
如果你只想修改当前 Git 仓库的用户名和邮箱,可以用:
Default
12
git config user.name "你的新用户名"git config user.email "你的新邮箱"
示例
Default
12
git config user.name "Millie"git config user.email "millie@example.com"
✅ 这只会影响当前 Git 仓库,不会影响其他项目。
3. 修改已经提交的记录
如果你已经提交了代码,但提交时的用户名或邮箱错误,可以用 git commit –amend 修改最近的提交信息。
(1)修改最近的一次提交
Default
1
git commit --amend --author="新的用户名 <新的邮箱>"
示例
Default
1
git commit --amend --author="Millie
然后:
Default
1
git push --force
⚠️ 注意:–force 可能会覆盖远程提交,谨慎使用!
(2)修改所有历史提交的用户名和邮箱
如果你需要修改所有历史提交的用户名或邮箱,可以使用:
Default
12345678910111213
git filter-branch --env-filter 'OLD_EMAIL="旧的邮箱"NEW_NAME="新的用户名"NEW_EMAIL="新的邮箱"if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]; then GIT_COMMITTER_NAME="$NEW_NAME" GIT_COMMITTER_EMAIL="$NEW_EMAIL"fiif [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]; then GIT_AUTHOR_NAME="$NEW_NAME" GIT_AUTHOR_EMAIL="$NEW_EMAIL"fi' --tag-name-filter cat -- --branches --tags
示例
Default
12345678910111213
git filter-branch --env-filter 'OLD_EMAIL="old@example.com"NEW_NAME="Millie"NEW_EMAIL="millie@example.com"if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]; then GIT_COMMITTER_NAME="$NEW_NAME" GIT_COMMITTER_EMAIL="$NEW_EMAIL"fiif [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]; then GIT_AUTHOR_NAME="$NEW_NAME" GIT_AUTHOR_EMAIL="$NEW_EMAIL"fi' --tag-name-filter cat -- --branches --tags
然后强制推送到远程:
Default
1
git push --force --all
⚠️ 注意:这会重写历史提交,不要在多人合作的项目里使用!
4. 查看当前 Git 配置
如果你不确定当前 Git 使用的用户名和邮箱,可以运行:
Default
12
git config --global --list # 查看全局 Git 配置git config --local --list # 查看当前仓库的 Git 配置
你也可以单独检查某一项:
Default
12
git config user.name # 查看当前仓库用户名git config user.email # 查看当前仓库邮箱
总结
需求命令修改全局 Git 用户名和邮箱git config –global user.name “新用户名”git config –global user.email “新邮箱”修改当前仓库的用户名和邮箱git config user.name “新用户名”git config user.email “新邮箱”修改最近一次提交的用户名和邮箱git commit –amend –author=”新用户名 <新邮箱>”修改所有历史提交的用户名和邮箱git filter-branch –env-filter ‘…’查看当前 Git 配置git config –global –list git config –local –list
如果你只是想修改下次提交的用户名和邮箱,修改 Git 配置(方法 1 或 2)就够了;
如果已经提交了错误的用户名或邮箱,需要用 –amend 或 filter-branch 来修改。