2017-05-29 70 views
1

我想更改在Git上传的Git存储库中的作者信息。我去了Github页面,他们展示了一个在提交中改变作者的指南。我有以下代码更改作者信息与Github指南不起作用

git filter-branch --env-filter ' 
OLD_EMAIL="[email protected]" 
CORRECT_NAME="hernan232" 
CORRECT_EMAIL="[email protected]" 
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 

当我运行的代码,它的工作原理,但是当我执行

git push --force --tags origin 'refs/heads/*' 

它显示“一切先进的日期”。然后我进入Github仓库,任何更改。你能帮助我吗?

+0

定义你的意思是“它的工作原理”。即使(或者事实上,尤其是* if)最终无所事事,过滤器分支命令也会成功,在这种情况下,推动并没有什么新意。 – torek

回答

0

要检查命令确实工作,使用log pretty format(如this answer),类型:

git log --pretty=format:"%h%x09%an%x09%ae%x09~ %an%x09%ce" 

这将显示作者和提交者的姓名和电子邮件为每个承诺:如果他们是正确的,那么你可以推。
如果它们保持不变,就没有什么可推动的。