这几天修改了好几次主题,但每次修改提交到远程仓库之后,都不是自己提交的。开始的时候,没有注意,今天再看git提交记录的时候,发现了这个问题。既然发现了,就得需要修改一下了。
这个解决方案是同时执行sh
脚本来实现的。
修改需要强制推送 git push -f, 所以没有强推权限也就不用尝试了?
在项目仓库下面创建一个sh脚本,我们命名为edit_name_email.sh
#!/bin/sh
#
git filter-branch --force --env-filter '
if [ "$GIT_COMMITTER_NAME" = "hshanx" ];
then
GIT_COMMITTER_NAME="hshanx";
GIT_COMMITTER_EMAIL="hshanx@163.com";
GIT_AUTHOR_NAME="hshanx";
GIT_AUTHOR_EMAIL="hshanx@163.com";
fi' -- --all
由于我是邮件信息错了,所以if [ "$GIT_COMMITTER_NAME" = "hshanx" ];
这个地方是写的hshanx
,但是我的理解这里应该是你仓库提交的旧用户名。 可以在评论中讨论。
chomd +x edit_name_email.sh
接下来执行脚本
./edit_name_email.sh
git push -f
## 也可以
git push origin master -f