您的位置:首页 > 其它

修改已经提交到远端的git commit信息

2016-11-09 10:43 549 查看
有这么一种场景,就是以前没有设置用户名和邮箱,导致提交时git commit信息中用户信息不正确。这样的情况导致后来我们提交代码到git上面时因为身份验证错误,只有到 push 阶段了才发现提交不上去。

后来请教大神发现了一种解决办法

git filter-branch --commit-filter '
if [ "$GIT_COMMITTER_NAME" = "<Old Name>" ];
then
GIT_COMMITTER_NAME="<New Name>";
GIT_AUTHOR_NAME="<New Name>";
GIT_COMMITTER_EMAIL="<New Email>";
GIT_AUTHOR_EMAIL="<New Email>";
git commit-tree "$@";
else
git commit-tree "$@";
fi' HEAD


引号中替换真实信息时不用加<>括号

Old Name就是当时的userName

剩下的就是想要替换的信息

这样在本地就能够修改commit 信息了,然后 git push origin targetBranch -f 推上去就可以了。

另外附加一个修改back up的方法

git update-ref -d refs/original/refs/heads/master
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: