プロジェクトを「フォーク」し、メンテナーの変更に連絡を取り合い、独自の機能を開発しながら、一度受け入れられた機能を簡単に貢献できるようにする最良の方法は何ですか?
これが私がやったことですが、問題が発生しました。
リポジトリのクローンを作成し、Feature1 ブランチでいくつかの作業を行った後、origin から、feature1 から、次に origin から変更をマージしました...次に、feature2 を開発しました。これにはもちろん、feature1 コードも含まれています。下のアートはシナリオを描いています (うまくいけば)。
マスターにすべてのアップストリームの変更があり、それらの上に開発しています。ただし、Feature1 のコードも含まれているため、Feature2 には貢献できません。私に何ができる?「aaa」に対する feature2 パッチを取得するには?
Feature2 をリベースし、cherry-pick して Feature1 のコミットを除外しますか? 解決策はあまりありません。
git format-patch f2..f4
そしてgit am
?すべてのパッチは手動で適用する必要があります。
Feature1 Feature2
a---b---c---d---e---f---g-----h---i f2---f3---f4
/ \ \ \ /
--------x'---y'---z'----1---o'---p'---2---3---q'-----r'---t'---l'---aaa'
/ / / / / / / / / /
origin----x----y----z--------o----p-------------q------r----t----l---aaa