web-dev-qa-db-ja.com

なぜ人々はGitHubのリポジトリをフォークするのですか?

GitHub アカウントの多くに、他のアカウントからフォークされたリポジトリしかないことに気づきました。さらに、これを行う人々は通常、フォークされたリポジトリに貢献しません。

切手や貝殻を集めている人の話を聞いたことがありますが、なぜリポジトリを集めたいのでしょうか?個人的には、リポジトリに変更を加えたい場合にのみ、リポジトリをフォークします。

116
Aadit M Shah

私たちの仕事では、技術的な理由を探す傾向がありますが、私の意見では、主な理由は技術的なものではありません。 GitHub Help またはその他のGitHubチュートリアルを見ると、リポジトリのフォークはGitHubを「実行」するための主要な手順の1つです。

人々がGitHubを学習して評価しているとき、そこに出てくるほぼすべてのチュートリアルは、その学習プロセスの一部としてリポジトリをフォークするように言うでしょう。 GitHubの主な目的は貢献することであるため、標準のチュートリアルを使用する多くの人は、読み取り専用のクローンが必要かどうかを最初にフォークする必要がないことに気付かない場合があります。

70
Karl Bielefeldt

あなたの質問で述べたように、元のリポジトリへの書き込みアクセス権がないため(リポジトリの所有者によって共同編集者として追加されていない限り)、人々はコードを変更したいときにリポジトリをフォークします。

フォークされたリポジトリでは、書き込みアクセス権があり、変更をプッシュできます。 pull requestsを使用して、元のリポジトリに貢献することもできます。

私は人々がリポジトリをフォークするがそれらを変更しない理由はいくつかあると思います:

  • 彼らはクールに見えるリポジトリをフォークし、単純にフォークし(簡単なので(ワンクリックのみ))後で変更を加えたいと思っています(そして、おそらくそれを忘れる/そうする時間がない)
  • リポジトリをフォークして変更を加え、変更が不要であることを発見し、自分のリポジトリを削除するのを忘れた
  • プロジェクトの1つが他のリポジトリに依存している可能性があるため(おそらくサブモジュールを介して)、リポジトリをフォークする可能性があり、依存関係として使用されるリポジトリを完全に制御する必要があります(元のリポジトリの所有者がgithubからgoogleコードなどに移動する場合があります)。 )
  • 彼らは単にコミットをプッシュすることを忘れるかもしれません
101
MarcDefiant

考えられる理由の1つは、それらのプロジェクトに依存する実行コードがあり、ビルドプロセスに依存関係をgithubから取得することが含まれていることです。フォークがあると、変更を壊すことから保護されます。バージョンにタグを付けないプロジェクトの場合、これがそのための最も簡単な方法です。

28

Githubの要点は "ソーシャルコーディング"です。

個人的には、次の場合にリポジトリをフォークします。

  • 変更したいです。
  • このプロジェクトは興味深いものであり、将来使用したいと思うかもしれませんが、現在使用しているデバイスに後で保存するための簡単な方法はありません。
  • そのリポジトリのコードの一部またはすべてを、自分のプロジェクトの開始点として使用したいと思います。

今、切手や貝殻を集めている人の話を聞いたことがありますが、なぜリポジトリを集めたがるのでしょうか?

なぜしないのですか?

個人的な喜びのためにリポジトリをフォークすることで失敗する可能性のあるものは何もありません(私が考えることができます)。正直なところ、私はGithubやその他の場所で目にする興味深いプロジェクトのフォルダーを保持しています。コードを読み取るためにプロジェクトをフォークする必要がないことは理解していますが、将来的には実際に編集したいと思うかもしれません。

フォークを開始します。

26
Dynamic

コードを使用する可能性があるか、興味のあるプロジェクトである場合は、多くのリポジトリをフォークします。後で戻ってコードをもう一度見たい場合は、自分のリストの下にあるかどうかを見つけるのが簡単ですリポジトリ。私はグーグルする必要はありません、または名前が正確に何であるかを思い出そうとするか、または「fooに関するそのリポジトリをもう一度どこで見ましたか?」それが私のリポジトリの中にあれば、これらのことを思い出しやすくなります。

1
ChrisDR