為改變已經提交的 commit 的使用者名稱和/或郵箱位址,你必須重寫你 git repo 的整個歷史。
注意:執行這段指令碼會重寫 repo 所有協作者的歷史。完成以下操作後,任何 fork 或 clone 的人必須獲取重寫後的歷史並把所有本地修改 rebase 入重寫後的歷史中,請謹慎操作。
使用指令碼改變你 repo 的 git 歷史
我們寫了一段能把 commit 作者舊的郵箱位址修改為正確使用者名稱和郵箱的指令碼。
1.開啟終端
2.複製貼上指令碼,並根據你的資訊修改以下變數
old_email
correct_name
correct_email
指令碼:
3.按 enter 執行指令碼。#!/bin/sh
git filter
-branch -f --env-
filter
'old_email="your-old-email@qq.com"
correct_name="newname"
correct_email="new-emil@qq.com"
if [ "$git_committer_email" = "$old_email" ]
then
export git_committer_name="$correct_name"
export git_committer_email="$correct_email"
fiif [ "$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.檢視新 git 歷史有沒有錯誤。
5.把正確歷史 push 到 github
git push --force --tags origin 『refs/heads/*』
修改git全部已提交的使用者名稱和郵箱
做乙個專案,做了兩周了發現為什麼github上我的commit是空白。人都傻了 一看原來本地git的郵箱和使用者名稱和github上的不一樣。感覺完了,因為這個評分是根據每個人的提交 和commit次數來決定的。可能需要梯子 為改變已經存在的 commit 的使用者名稱和 或郵箱位址,你必須重寫你 ...
git修改提交的使用者名稱
有時候git使用其他同事名稱提交了記錄,本地再次提交時,會顯示為其他同事的名稱提交的 可以使用以下方式修改 解決方法 一 全域性修改 1 命令修改 git config global user.name 你的使用者名稱 git config global user.email 你的郵箱名 修改當前全...
修改git 提交的使用者名稱和使用者Email命令
首頁先檢視全域性配置 git config list git config local list 法一 使用命令修改git的使用者名稱和提交的郵箱 1 修改全域性 如果你要修改當前全域性的使用者名稱和郵箱時,需要在上面的兩條命令中新增乙個引數,global 代表的是全域性。命令分別為 git con...