修改git已提交內容的使用者名稱和郵箱

2021-10-08 11:42:38 字數 1067 閱讀 1614

為改變已經提交的 commit 的使用者名稱和/或郵箱位址,你必須重寫你 git repo 的整個歷史。

注意:執行這段指令碼會重寫 repo 所有協作者的歷史。完成以下操作後,任何 fork 或 clone 的人必須獲取重寫後的歷史並把所有本地修改 rebase 入重寫後的歷史中,請謹慎操作。

使用指令碼改變你 repo 的 git 歷史

我們寫了一段能把 commit 作者舊的郵箱位址修改為正確使用者名稱和郵箱的指令碼。

1.開啟終端

2.複製貼上指令碼,並根據你的資訊修改以下變數

old_email

correct_name

correct_email

指令碼:

#!/bin/sh

git filter

-branch -f --env-

filter

'old_email="[email protected]"

correct_name="newname"

correct_email="[email protected]"

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

3.按 enter 執行指令碼。

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...