當(dāng)你辛苦做一個(gè)項(xiàng)目,而且還很完美的提交所有內(nèi)容,突然某天發(fā)現(xiàn)git的用戶名錯(cuò)了或者是郵箱錯(cuò)了,這對一個(gè)程序員或者是強(qiáng)迫癥患者來說是多么痛苦的一件事。
不用擔(dān)心,下面告訴大家如何修改所有提交記錄中的用戶名和密碼。
在git倉庫目錄下新建一個(gè)文件 “fix_name_email.sh” ,把下面內(nèi)容拷貝到新建的文件中并保存,將權(quán)限設(shè)置為777,在終端執(zhí)行?“./fix_name_email.sh” 即可。是不是很簡單呀!
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="eker_ch@foxmail.com"
CORRECT_NAME="eker"
CORRECT_EMAIL="eker.ch@foxmail.com"
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
fix_name_email.sh是shell腳本文件,它所做的事情就是遍歷所有提交記錄,對比郵箱,如果發(fā)現(xiàn)不一樣的就更改成新的郵箱。