我正在尝试在Github上上传的Git存储库中更改作者信息。我去了Github页面,他们在提交中显示了更改作者的指南。我有以下代码
git filter-branch --env-filter '
OLD_EMAIL="Admin@user"
CORRECT_NAME="hernan232"
CORRECT_EMAIL="hdvanegasm@unal.edu.co"
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 :(得分:0)
要使用log pretty format(如this answer中所示)检查命令是否确实有效,请输入:
git log --pretty=format:"%h%x09%an%x09%ae%x09~ %an%x09%ce"
这将显示每次提交的作者和提交者姓名和电子邮件:如果它们是正确的,那么您可以推送 如果它们没有变化,就没有什么可以推动的了。
答案 1 :(得分:0)
我可能是错的,但是我认为最后一个命令只是在推送标签。
要推送所有分支(包括主分支),您需要先执行git push --force --all
我对一个个人存储库进行了测试,并且收到了与您相同的消息(并且该存储库中没有任何标签-也许这就是为什么它是“最新的”)。运行上面的命令,我设法推动。我还给他们写了一张支持票,并会在他们回复时进行更新。