我遇到了一个问题,我发布了一个分支到我的公共git存储库有错误的父分支。我试图解决这个问题让事情变得更糟。修复发布分支与错误的父分支
起初,我有:
A <-- master
\
B <-- abstract-test-rule
\
C <-- run-leaf
我推abstract-test-rule和run-leaf我的公开GitHub的仓库,并提出了各自引入请求。然后我意识到“run-leaf”包含提交B;我本来打算从“A”分支“run-leaf”。所以,我对分支“跑叶”跑git revert B
:
A <-- master
\
B <-- abstract-test-rule
\
C--B' <-- run-leaf
我重新推“跑叶”我的公开的github仓库。
问题1:我应该做些什么?我猜测正确的做法是从A创建一个新的分支,只有提交C的增量,推送到我的公共github存储库,取消之前的请求并创建一个新的分支。最简单的方法是什么?
不幸的是,分支“run-leaf”合并到父库中from commit C,然后B' was merged合并到父库中。
我知道“抽象测试规则”的合并现在对于父库的所有者来说是痛苦的,所以我试图为合并准备“抽象测试规则”。这个时候,我的回购协议是这样的:
A <-- master
\
B--D--E <-- abstract-test-rule
\
C--B' <-- run-leaf
我走进我的回购协议,由母公司回购被拉入“主”,然后合并的“主人”到“抽象测试规则”。合并是一团糟(因为,我猜测,我正在合并父代的B'版本到“抽象测试规则”)。毕竟,我们有一些very confusing diffs。
问题2:有没有更简单的方法来清理“抽象测试规则”?换句话说,我想合并的“主人”到“抽象测试规则”,但避免合并B的”我的父母回购的版本为‘抽象测试规则’
问题3:什么是最好的验证合并到父库的方法是否正确完成?现在,我只是从父存储库中取出,将我版本的分支从“主”(查看合并的差异)并运行git diff master
以验证分支现在与“主”相同
谢谢!
澄清,对于问题2,更改B'已发布到我的回购(在分支运行叶),然后拉入上游回购(进入主分支)。对于问题3,我想验证上游开发者是否正确合并(尽管我试图让我的分支保持新鲜,但其他更改仍然存在合并冲突) – NamshubWriter 2011-01-13 14:28:08