【发布时间】:2023-04-06 22:38:01
【问题描述】:
我严重弄乱了我的一个项目的 git 存储库,需要帮助修复它。
这就是我想要的:
alpha E--
/
master --A--
|\
beta | B--C--
\
gamma D--
总共四个分支,三个不稳定分支和一个主分支。
然而,不知何故,我创建了一个意外的合并,然后当我试图撤消它时另一个错误的合并。所以现在我的存储库看起来像这样:
master --A--E--------Y
| / \
beta | X--B--C Z--C'
\ /
gamma D--B?--C?
根本没有 alpha 分支(不知何故,即使我确实做了一个git checkout -b alpha),beta 分支处于非常奇怪的反转状态,并且 gamma 分支上没有 beta 分支的提交任何明显的合并。
幸运的是,我确切地知道每个文件在每个分支上应该是什么样子,并且我可以在我的团队恢复行动之前在遥控器上再重写几个星期的历史记录。
如何在不丢失工作的情况下创建 4 个独立的分支而不是合并后的混乱?
【问题讨论】:
-
git checkout <branch>; git <reset> --hard <pos>; git cherry-pick --no-commit <sha1>?
标签: git merge git-revert