Githubの既存のオープンソースプロジェクトのフォークを操作するための最適なワークフローを見つけようとしています。既存のプロジェクトを取得して大幅な変更を加えたいのですが、この場合はそれをAndroidに移植し、特定のAndroidのみの機能を追加します。以下を満たすために:
私の最初の考えは、元のプロジェクトをフォークしてから、フォークをフォークして名前を変更し、次のリポジトリを作成することです。
original-author/projectA
nicstrong/projectA
nicstrong/projectA-Android
これにより、ローカルリポジトリlocal/projectA-Androidで作業できるようになります。nicstrong/ projectA-Androidへの変更をプッシュします。次に、元のプロジェクトから更新するために、nicstrong/projectAをoriginal-author/projectAから最新のものにリベースしてから、nicstrong/projectAからlocal/projectA-Androidにフェッチ/マージすることができます。
私の質問は次のとおりです。
1 /はい、これが最も安全なアプローチのようです。nicstrong/projectA
にバックポートする変更は、original-author/projectA
と同じ構造のプロジェクトに含まれるためです。
つまり、元の作成者のプロジェクトを反映したプロジェクトに参加するため、プルリクエストを整理しやすくなります。
2/nicstrong/projectA-Android
で大規模なリファクタリングが行われている場合は、backport
ブランチを作成し、backport
ブランチへの多数の変更から必要なものを慎重にマージまたはチェリーピックします、次にそのブランチをnicstrong/projectA
にプッシュします。
(つまり、nicstrong/projectA
のリモートとしてnicstrong/projectA-Android
を追加したことを意味します)
Gitリポジトリの名前は、リモートの名前に大きく依存しています。先に進んでクローンを作成し、新しいリモコンを(別の名前で)追加して、そこにプッシュし始めます。もちろん、その時点で、問題なくプロジェクトディレクトリの名前を変更できます。