git - 不小心设置了错误的上游分支
问题描述
那是怎么发生的 ?
我只是想重命名我的两个 git 分支,本地和远程。为了便于理解,假设我想将分支重命名EVOL
为DEV
,并将分支重命名DEL
为DELIVERY
。
为此,我使用了此处描述的命令。这很简单。首先,我做到了,在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
解决方案
推荐阅读
- php - 使用日文字符执行 sql server 表列名查询时出错
- gradle - Gradle 引用了 jar,但它们不在 POM 中,也不在代码链接中
- c# - 如何解析具体的非抽象类实例
- c++ - C++ ifstream 错误:无法读取数据
- html - Angular 中的 Quill 编辑器 (editor.root.innerHTML)
- c++ - unique_ptr 的 lambda 删除器导致编译错误 vs 仿函数
- python - 如何在 ttk Treeview 中添加复选框
- python - 在 Jupyter Notebook 中执行 python3 命令
- javascript - 使用 Ajax $.post() 时无法重定向到 url
- android - 黄油刀构建 Gradle