【问题标题】:How can I undo the unexpected push to GitHub with another user credentials如何使用其他用户凭据撤消对 GitHub 的意外推送
【发布时间】:2019-03-10 16:42:25
【问题描述】:

我同时使用我的 github 存储库和客户端 git 存储库。今天,我对我的 git 代码进行了修改,并意外地使用客户端凭据提交。提交后,我意识到我使用客户端用户名和电子邮件提交了代码,然后我设置 git config --global user.name "myname"git config --global user.email "ex@gmail.com" 将代码推送到我的仓库。代码推送成功。但我的问题是,我可以看到提交是由客户端凭据进行的。并且他的名字也被添加到了贡献者列表中。你可以在下面看到 我怎样才能将他从我的贡献者中删除,我想完全撤消推送。提前致谢。

【问题讨论】:

标签: git github git-push git-revert


【解决方案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
猜你喜欢
  • 2023-04-09
  • 2022-05-31
  • 2010-12-14
  • 1970-01-01
  • 1970-01-01
  • 2016-03-17
  • 2013-11-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多