web-dev-qa-db-ja.com

Github-オープンソースプロジェクトの問題に取り組む際のベストプラクティスは何ですか

私が作成した専用のフォークで、オープンプロジェクトの問題を解決しました。その後、メインのマスターリポジトリにコミット、プッシュ、マージ(プルリクエスト)しました。

今、私は別の問題に取り組みたいと思います。

これを行う最良の方法は何ですか?前の問題で作業したのと同じフォークを使用する必要がありますか?

7
omer schleifer

通常、githubの場合、 workflow は1つのフォークを持つことになります(同じアカウントで同じリポジトリを複数回フォークできるとは思えません)が、PRごとに別々のブランチです。例:

  • フォークを作成し、ローカルで複製
  • 適切に名前が付けられた新しいブランチをチェックアウトし、「issuexxx-fix」と言います
  • いくつかの作業をコミット/プッシュする
  • pRを作成する

しばらくして別の問題に取り組みたいときは、最初にフォークを最新の状態にして、別のブランチで上記を繰り返します。

  • マスターブランチを再度チェックアウト
  • masterブランチをアップストリームの最新のコミットにリセット(またはマージ)します
  • 適切な名前の付いた新しいブランチをチェックアウトします。 issuexxx-fix
  • いくつかの作業をコミット/プッシュする
  • pRを作成する

また、以前に取り組んだ問題についてさらに作業が必要だとすると、通常、元の作業と新しい作業を最新のアップストリームマージに基づいてリベースする必要があります。これにより、メンテナがマージする必要がある作業の量が減る可能性があります。 (可能な衝突を修正する代わりに修正します):

  • 使用するブランチをチェックアウトする
  • 最新のアップストリームコミットに基づく
  • コミット/プッシュ
  • 既存のPRは自動的に更新されます
11
stijn