私は他の誰かのリポジトリ(カタルシスの理由でそれらを「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/devgitnoob/devdevdevstuff12
私は、gitnoob/stuff膨大な量の手間をかけずに(そして、可能であれば、上流に表示されるまで1と2をそこに戻すことなく)変更をプルできるようにする必要があります。元に戻すか削除しました。
どうすればよいですか?それとも私は1と2で立ち往生していstuffますか?