場景:
公司內部有git賬號,以工號命名,個人賬號參與開源專案;提交開源專案的時候使用者名稱沒切換成個人賬戶,導致專案都是工號的提交記錄,違反了公司規定。
參考:侵刪。
git clone --bare
如:
cd ant-design.git
copy以下指令碼到記事本,修改old_name
、correct_name
、correct_email
;
#!/bin/sh
git filter-branch --env-filter '
old_name="tiezhuzhao"
correct_name="yanzuwu"
correct_email="[email protected]"
if [ "$git_committer_name" = "$old_name" ]
then
export git_committer_name="$correct_name"
export git_committer_email="$correct_email"
export git_author_name="$correct_name"
export git_author_email="$correct_email"
fiif [ "$git_author_name" = "$old_name" ]
then
export git_committer_name="$correct_name"
export git_committer_email="$correct_email"
export git_author_name="$correct_name"
export git_author_email="$correct_email"
fi' --tag-name-filter cat -- --branches --tags
貼上後記得回車
git push --force --tags origin 'refs/heads/*'
fix bug
@tiezhuzhao
tiezhuzhao committed 1 hours ago
fix bug
@yanzuwu
yanzuwu committed 1 hours ago
因此建議其他人刪除舊的分支,重新拉分支。
fix bug
@yanzuwutiezhuzhao
yanzuwu authored and tiezhuzhao committed 1 hours ago
Git 如何針對專案修改本地提交提交人的資訊
git 如果不進行修改的話,在預設情況下將會使用全域性的使用者名稱和電子郵件。但是在 github 中是通過使用者郵件來進行提交人匹配的。如何針對專案來修改提交的使用者資訊?針對 tortoisegit,你可以在專案中選擇 settings。然後選擇 git 的 local 選項。在 local 中...
Git 如何針對專案修改本地提交提交人的資訊
git 如果不進行修改的話,在預設情況下將會使用全域性的使用者名稱和電子郵件。但是在 github 中是通過使用者郵件來進行提交人匹配的。如何針對專案來修改提交的使用者資訊?針對 tortoisegit,你可以在專案中選擇 settings。然後選擇 git 的 local 選項。在 local 中...
修改GIT歷史提交備註資訊
git commit amend m message 如,修改前三條commit的message 執行命令 git rebase i head 3 autostash 會彈出修改commit的資訊,需要等待一會 將需要修改的commit的message的pick修改為edit 如 pick 2224...