【问题标题】:How do I reset git head to previous local commit and then push that commit to my remote如何将 git head 重置为以前的本地提交,然后将该提交推送到我的远程
【发布时间】:2019-09-16 22:20:46
【问题描述】:

我的 git repo 上有一个分支(master)。 我一直在将提交推送到我的远程仓库。

我现在想恢复到之前的提交,并从那里重新开始。

我已经运行了以下:

git reset --hard <commit hash>

现在头在我选择的提交处,从这里我想把这个选择的提交作为头推送到我的远程主分支。

git push origin master 

它不起作用 - 错误消息统计

'Updates were rejected because a pushed branch tip is behind its remote counterpart.'

如何在本地签出之前的提交,将 head 设置为该提交,然后推送到我的远程仓库?

谢谢

【问题讨论】:

标签: git


【解决方案1】:

$ git reset --hard commit 部分没问题,你只需要做$ git push --force origin master

【讨论】:

  • 谢谢blinkofaneye,这非常有效。唯一的小错误是,当我尝试更新然后再次拉取时,它给了我这条消息:您当前不在分支上。请指定要合并的分支。有关详细信息,请参阅 git-pull(1)。 git pull
  • 也许你需要先做git checkout master,然后再做git pull
  • 这一切都很完美,谢谢。我认为恢复到旧提交并继续使用该提交但保留我随后使用此方法覆盖和删除的其他提交将是一个更好的情况。这种方式对我来说很好。谢谢 - Jonny 9 秒前 编辑 删除
猜你喜欢
  • 2011-03-14
  • 2013-04-08
  • 1970-01-01
  • 2021-08-12
  • 2011-03-13
  • 2010-09-20
  • 1970-01-01
相关资源
最近更新 更多