gpt4 book ai didi

git - 如何撤消分支推送到 master

转载 作者:太空狗 更新时间:2023-10-29 14:30:14 26 4
gpt4 key购买 nike

好的,所以我在 GitHub 上有一个 fork 的 repo,而且上游 repo 自从我 fork 之后就没有更新过。昨天,我根据上游最后一次提交创建了一个分支,该提交是在我几个月前 fork repo 协议(protocol)之前所做的。

我在分支上做了一个错误的提交,所以我尝试使用 git push -f origin HEAD^:master 来撤销它在我本地的分支实例上,但如您所见,我忘记更改 master到分支的名称。所以它最终覆盖了我到目前为止在 master 上所做的一切。

我的问题是,有没有办法消除这个困惑,这样我就可以让 master 恢复到这个特定推送之前的状态?

我经常使用 TortoiseGit 和 TortoiseSVN,我在 Git 的任何组件中都看不到我之前在 master 上所做的任何遗留,但是我仍然可以在 SVN 主干的历史日志中看到我以前的所有提交。我没有处于先前状态的 master 的干净本地实例。

我试过类似 git reset --hard <last good commit hash> 的东西或 git push -f origin <last good commit hash>:master ,但它表示不存在具有此类哈希的提交。我仍然可以从我的浏览器历史记录中访问 GitHub 上所有以前的提交。

下游没有任何东西,所以不用担心。

有什么建议吗?

最佳答案

好吧,这是我从分支的本地实例修复它的方法:

  1. git log --graph --oneline --all检索最后一个好的提交的散列
  2. git reset --hard <last good commit hash>
  3. git push origin +master

关于git - 如何撤消分支推送到 master,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16974840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com