在 GitX 中撤消移动的分支

Undo moved branch in GitX

我不小心将 GitX 中的一个分支(使用鼠标拖放)移到了另一个分支上。 现在,两个分支标签都指向同一个提示(!),我看不到在移动的分支上完成的提交。

使用 git reflog 我想查看更改并撤消它,但没有记录任何内容。

从 GitX 撤消该移动操作的推荐方法是什么(图形或终端)?菜单->编辑->撤消不提供返回。

(背景:我认为移动操作也会携带提交,即,就像变基一样,但事实并非如此。)

我的理解: 你有

A-B-C  master
 \D-E develop

然后您不小心在提交 C 上移动了 develop(与 master 相同)。

然后你得到

A-B-C (master, develop)
 \D-E

如果要将分支 "develop" 移回 "commitE",您应该使用 git branch 命令:

git branch -f <branch-name> <starting-point>

当您的 HEAD 在另一个分支上时,必须使用该命令。 所以在上面的例子中,我会这样做:

git checkout master

所以我的 HEAD 位于分支 "master", 其次是

git branch -f develop commitE

这会将您切换回初始状态,即

A-B-C  master
 \D-E develop