git通過命令可以配置本地用戶名和郵箱
git config user.name 用戶名
git config user.email 郵箱
查看本地用戶名和郵箱
git config user.name
git config user.email
修改已經push到遠程的用戶名和郵箱
#!/bin/sh git filter-branch --env-filter ' OLD_EMAIL="yy_z3em@163.com" CORRECT_NAME="xxxcxy" CORRECT_EMAIL="yy_z3em@163.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
執行腳本之前先更新代碼。
創建一個sh腳本,把上面命令粘貼到腳本里面,然后執行sh腳本。
如果執行失敗,需要刪除 .git/refs/original目錄。
執行更新命令
git pull --rebase
然后再重新執行修改用戶名的腳本
腳本執行成功之后,提交代碼到遠程git倉庫。
git push origin --force --all
到遠程git倉庫查看提交記錄,提交人名字都修改了。
批量修改push到遠程的用戶和作者信息結束。
----------
----------
----------
修改全部的提交記錄。
#!/bin/sh git filter-branch --env-filter ' CORRECT_NAME="xxxcxy" CORRECT_EMAIL="yy_z3em@163.com" export GIT_COMMITTER_NAME="$CORRECT_NAME" export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL" export GIT_AUTHOR_NAME="$CORRECT_NAME" export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL" ' --tag-name-filter cat -- --branches --tags
以上腳本慎用,會把所有的提交記錄都修改。