Git でコードをフォークしているという話をよく聞きます。Git の「フォーク」は、Git の「クローン」に、将来のマージを放棄するという (意味のない) 心理的な意思を加えたような疑わしい響きがあります。Git にはフォーク コマンドはありませんよね?
GitHub は、フォークに通信をホッチキスで留めることで、フォークをもう少しリアルなものにしています。つまり、フォーク ボタンを押して、後でプル リクエスト ボタンを押すと、システムが所有者に電子メールを送信します。したがって、リポジトリの所有権と権限をめぐるちょっとしたやり取りになります。
はい/いいえ? GitHub が Git をこの方向に拡張することに不安はありますか? あるいは Git がその機能を吸収するという噂はありますか?
ベストアンサー1
フォークGitHub のコンテキストでは、 は Git を拡張しません。
サーバー側でのクローンのみ許可します。
ローカル ワークステーションで GitHub リポジトリをクローンする場合、明示的に「貢献者」として宣言されない限り、アップストリーム リポジトリに貢献することはできません。これは、クローンはそのプロジェクトの別のインスタンスであるためです。プロジェクトに貢献したい場合は、次のようにフォークを使用して行うことができます。
- そのGitHubリポジトリをあなたのGitHubアカウントにクローンします(それが「フォーク」部分(サーバー側のクローン)
- その GitHub リポジトリにコミットする (自分の GitHub アカウント内にあるため、プッシュする権利はあなたにあります)
- 興味深い貢献があった場合は、元のGitHubリポジトリ(つまり「プルリクエスト」部分自分のGitHubリポジトリに加えた変更によって)
こちらもチェックしてください」共同作業可能な GitHub ワークフロー「」。
元のリポジトリ (アップストリームとも呼ばれます) へのリンクを維持したい場合は、元のリポジトリを参照するリモートを追加する必要があります。
「GitHub の origin と upstream の違いは何ですか?「
Git 2.20(2018年第4四半期)以降では、フォークからのフェッチがより効率的になりました。デルタ諸島。