[解決済み] Gitフォークは、実はGitクローンなのか?
質問
Gitでコードをフォークしているという話をよく聞きます。Git "fork" は、Git "clone" に加えて、将来のマージを見送るという(無意味な)心理的意志があるように、怪しく聞こえます。 Gitにforkコマンドはありませんよね?
GitHubは、フォークの対応をホッチキスで留めることで、フォークの現実味を高めています。つまり、フォークボタンを押すと、後でプルリクエストボタンを押したときに、システムが賢くなってオーナーにメールを送ってくれるのです。したがって、リポジトリの所有権とパーミッションのまわりで、ちょっとしたダンスをしているようなものなのです。
はい/いいえ?GitHubがGitをこの方向に拡張することに何か不満がありますか?あるいは、Gitがこの機能を吸収するという噂はありますか?
解決方法は?
フォーク
は、GitHub のコンテキストでは、Git を拡張するものではありません。
サーバー側でクローンを作成することができるのみです。
GitHub リポジトリをローカルのワークステーションでクローンした場合、明示的に貢献者として宣言しない限り、上流のリポジトリにコントリビュートすることはできません。これは、あなたのクローンがそのプロジェクトの別のインスタンスであるためです。もし、そのプロジェクトに貢献したいのであれば、次のようにフォークを使用して行うことができます。
- そのGitHubリポジトリを自分のGitHubアカウントでクローンする(つまり、そのGitHubリポジトリの fork"部分 サーバー側でクローンを作成します)
- そのGitHubリポジトリにコミットする(自分のGitHubアカウントにあるので、そこにプッシュする権利はある)。
- 面白い貢献があれば、元の GitHub リポジトリにシグナルを送り返します (これは プルリクエスト部分 自分のGitHubリポジトリで行った変更によって)
Check also " GitHub コラボレーション・ワークフロー "。
元のリポジトリ(アップストリームとも呼ばれる)とのリンクを維持したい場合、その元のリポジトリを参照するリモートを追加する必要があります。
参照:"
GitHub における origin と upstream の違いは何ですか?
"
また、Git 2.20(2018年第4四半期)以降では、forkからの取得がより効率的になりました。 と デルタアイランド .
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] git pull」と「git fetch」の違いは何ですか?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] Git リポジトリを以前のコミットに戻すにはどうすればよいですか?
-
[解決済み] 現在のGit作業ツリーからローカル(未追跡)ファイルを削除する方法
-
[解決済み] Git ですべてのリモートブランチをクローンする方法
-
[解決済み】"git pull" でローカルファイルを強制的に上書きするには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Gitのエラー。リモートリポジトリへの接続時に「Host Key Verification Failed」。
-
gitコミット発生 ! [リモート拒否] master -> master (pre-receive hook declined) 解決策
-
[解決済み] [Solved] originにプッシュしようとすると、Gitが「No such remote 'origin'」と言うのはなぜですか?
-
[解決済み] git でディレクトリ階層が異なる 2 つのブランチをマージするには?
-
[解決済み] Git エラー : 'upstream' は git リポジトリでないようです。
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] オリジナルのGitHubリポジトリからフォークしたGitHubリポジトリに新しいアップデートをプルする
-
[解決済み】GitHubでのフォークとブランチの比較
-
[解決済み】GitHubのForkingとCloneの違いは何ですか?
-
[解決済み】GitHubのプルリクエストのやり方