如何使用其他用户凭据撤消对 GitHub 的意外推送
Posted
技术标签:
【中文标题】如何使用其他用户凭据撤消对 GitHub 的意外推送【英文标题】:How can I undo the unexpected push to GitHub with another user credentials 【发布时间】:2019-03-10 16:42:25 【问题描述】:我同时使用我的 github 存储库和客户端 git 存储库。今天,我对我的 git 代码进行了修改,并意外地使用客户端凭据提交。提交后,我意识到我使用客户端用户名和电子邮件提交了代码,然后我设置 git config --global user.name "myname"
和 git config --global user.email "ex@gmail.com"
将代码推送到我的仓库。代码推送成功。但我的问题是,我可以看到提交是由客户端凭据进行的。并且他的名字也被添加到了贡献者列表中。你可以在下面看到
我怎样才能将他从我的贡献者中删除,我想完全撤消推送。提前致谢。
【问题讨论】:
***.com/q/3042437/1030675 【参考方案1】:如果这是最后一次提交,您可以编辑消息并使用 git commit --amend --reset-author
重置作者以将其设置为您当前的配置。
然后,您必须 git push --force
推送以删除错误作者的提交。
如果这不是最后一次提交,您可以使用git rebase --interactive
并重置您想要的提交。
【讨论】:
不幸的是,我做了git revert e4dc6fd
。我现在该怎么办?
如果这是最后一次提交,您可以使用git reset HEAD^
取消最后一次提交。或者你可以做git rebase --interactive e4dc6fd^
(我假设e4dc6fd
是你要更改作者的提交),然后标记提交e4dc6fd
进行编辑,然后关闭编辑器运行rebase,当它停止时,做git commit --amend --reset-author
要检查你以前的 git 历史是什么样子的,你可以这样做git log --all --decorate --graph --pretty=oneline --topo-order
谢谢@Asenar以上是关于如何使用其他用户凭据撤消对 GitHub 的意外推送的主要内容,如果未能解决你的问题,请参考以下文章