私は他の誰かのリポジトリ(カタルシスの理由でそれらを「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で立ち往生していstuff
ますか?