我正在从其他人的存储库中提取更改(出于宣泄的原因,我们称它们为“gitnoob”),其中所有内容都混合在一起。他们最初显然是在他们的主要分支中工作,然后才了解分支。它看起来有点像这样:
d - f <--- stuff
/ /
A - b - 1 - c - 2 - E <--- dev
这些数字是应该在另一个分支中的提交,如果我将它们合并到我自己的dev
分支中,可能会破坏事情。(我将在稍后将它们拉出来upstream/dev
——upstream
作为我们共享的父存储库——一旦它们被合并到那里。)小写字母是应该是一部分的提交,stuff
大写字母是合法合并到的提交dev
。
理想情况下,我想在我的最后清理这个 - 在本地有这样的东西:
b - c - d - f <--- stuff
/ /
A --------- E <--- dev
现在,无论如何都会发生stuff
所有与stuff
- 相关的更改,因为gitnoob/stuff
还将包括upstream/dev
与gitnoob/dev
该点之间的所有差异(并且合法dev
的差异已经在我的dev
分支中)。问题是,这意味着stuff
也会有提交1
和2
,这很可能会破坏事情。
我需要能够在gitnoob/stuff
没有大量麻烦的情况下进行更改(并且,如果可能的话,不要让 1 和 2 回到那里直到它们出现在上游),并让他们从我这里拉出更改,而他们最终没有得到任何东西还原或删除。
我该怎么做呢?还是我只是坚持使用 1 和 2 in stuff
?