首页 > 解决方案 > 不小心设置了错误的上游分支

问题描述

那是怎么发生的 ?

我只是想重命名我的两个 git 分支,本地和远程。为了便于理解,假设我想将分支重命名EVOLDEV,并将分支重命名DELDELIVERY

为此,我使用了此处描述的命令。这很简单。首先,我做到了,在EVOL

git branch -m DEV
git push origin :EVOL DEV
git push origin -u DEV

使用gitk,我看到更改是有效的,并且做了我想做的一切。因此,为了重命名我的第二个分支,我执行了以下命令(仍在现在的DEV分支中)

git branch -m DEL DELIVERY
git push origin :DEL DELIVERY
git push origin -u DELIVERY

这是我失败的地方。我应该在DELIVERY分支中完成最后一个命令,除了我没有更改,我试图快速,我没有看到网页上的说明。

后果和问题

DEV分支看起来就像我想要的那样:相同的旧EVOL分支,但有了新名称。然而,这个DELIVERY分支是错误的,我相信另一个分支在哪里,比DEL原来早几个月。老实说,我不记得DELIVERY现在所在的分支的用途,但理想情况下,我想在这里恢复原状,以保持清晰的历史记录。更糟糕的是,看起来我已经失去了对旧DEL分支的跟踪。我无法使用gitk --all.

由于我意识到自己的错误,我不敢尝试一些东西,因为害怕丢失旧的DEL提交。我执行的最后一个命令就是那个臭名昭著的git push origin -u DELIVERY

问题

是否可以恢复最后一个命令和/或检索我在分支git push origin -u DELIVERY上的提交?DEL

标签: git

解决方案


推荐阅读