我有一个主软件库的主存储库[A]。我创建了一个克隆(将此模块的模块添加到消费[A]的其他任何人),到另一个消耗(PULL)[A]更新的存储库[B]。因此[B]有多次拉动并在[A]的路上合并。
现在我最近决定在[A]的代码库中[B]中的一些问题bugfix(37173bc),并希望将这一个提交推回到[A]。我以为它只会推动一次提交,但我意外地推动了从[B]到[A]的所有事情。
更糟糕的是,起初我没有注意到[A]中的问题,我只是注意到根解决方案文件被重命名并决定将其重新命名为[A]并提交修复( 579dcb6) - 也把那个拉回[B]。
那时我注意到我真的很喜欢这个回购:)。我想将最后几次提交恢复为[A],但是......
从[B]到[A]的错误合并/推送/提交实际上是[A]中的许多提交,我不能恢复/重置HEAD~5,但是以某种方式摆脱了所有来自[B]的其他提交现在出现在[A]中。
最多5b7760d(蓝线)所有青色提交到[A]的位置。从那时起,[A]内的所有进展突然显示在紫线上。
所以我想从[A]中删除5b7760d之后的所有CYAN COMMITS,有效地杀死[A]中任何[B]的所有痕迹。因为我是唯一一个使用回购的人,所以我以后再做一次改造了。
任何帮助都会受到极大的关注!
答案 0 :(得分:0)
我刚刚到家,在这里我很幸运地在[B]合并之前有一个版本的[A]。所以我想我只是尝试git push -f origin master
并且似乎已经在回购[A]中恢复了[B]的所有变化!是啊!我明天必须在办公室看到这对[B]意味着什么,但至少[A]再次清洁!那么我们学到了什么 - 有时候在尝试使用回购新东西之前保留本地回购的副本是个好主意:)