web-dev-qa-db-ja.com

Githubプロセスでのプロジェクトのフォーク

Githubには、私が主に気に入って使用したいプロジェクトがあります。別にやりたいことがいくつかありますが、自分がやりたいことや必要なことに対して意味のない削除を行ってください。また、いくつか追加したいこともあります。

私はそれを理解しているので、プロジェクトをフォークする必要があります。好きなように変更して、フォークにプッシュバックできます。そこから、元のプロジェクトからの変更を時々私のフォークに取り入れて、最新のバグ修正/機能を入手したいと思います。

私はそれがうまくいくべきだと思う方法のベースを外していますか?元のプロジェクトからの変更をどのように取り入れますか?

26
Mike Wills

フォークを作成し、すぐにブランチを作成します。

これでgit pullsを使用して最新の変更を取得するために今後更新できる「そのままの」マスターができました。

リモートにプッシュせずにローカルブランチを維持します。rebasesを実行すると、次のことが実行されます。

  • 変更を保存します
  • マスターからブランチへの最新の変更を適用します(リモートからの更新からのもの)
  • マスター(または他の元のブランチ)から更新されたコードの上に、変更を再度適用します。

最後にそれを使い終わったら、ローカルでそれをマスター(または最初のフォークの元のブランチ)にマージし、実際の所有者がプルするようにプル要求を送信します。

いずれにしても、私が理解しているように、これは1つのワークフロー(または「フォークフロー」)です。他の人はコメントしたり、修正したり、詳細を追加することができます。

18
Michael Durrant

あなたは基本的にそれを持っています:フォークを作成すると、それはあなた自身の小さなサンドボックスです。

あなたがしなければならない主なことは、元の開発ラインをあなた自身のものから切り離すために、フォークした直後にブランチを作成することだと思います。このブランチで開発するかマスターで開発するかは、主に個人的な好みの問題です。私がマスターで開発するのを妨げる1つのことは、「git pull」を実行して間違ったものを取得するのは簡単すぎることです。

10
parsifal