[解決済み】GitHubでのフォークとブランチの比較
質問
githubプロジェクトをフォークすることと、githubプロジェクトのブランチを作成することのメリットとデメリットについて詳しく知りたいのですが。
フォークをすると、元のプロジェクトの共同作業者リストに入る必要がないので、私のバージョンのプロジェクトは元のプロジェクトとより隔離されたものになります。私たちは自社でプロジェクトを開発しているので、共同作業者として人々を追加することに問題はありません。しかし、プロジェクトをフォークすることで、メインのプロジェクトに変更をマージすることが難しくなるのかどうかを理解したいのです。つまり、ブランチすることで2つのプロジェクトを同期させることが容易になるのかどうか。言い換えれば、ブランチしたときにメインプロジェクトの私のバージョンとメインプロジェクトの間で変更をマージしたりプッシュしたりするのはより簡単なのでしょうか?
解決方法は?
特定のプロジェクトの共同作業者として登録されていないため、常にブランチを作成したり、既存のブランチをプルしてそこにプッシュバックすることができません。
フォークとはクローン以外の何ものでもない GitHubのサーバー側で :
- 直接プッシュバックすることができない
- と フォークキュー マージ要求を管理するために追加された機能
によって、フォークを元のプロジェクトと同期させたままにしておくのです。
- 元のプロジェクトをリモートとして追加する
- その元プロジェクトから定期的に取得する
- そのフェッチから更新された興味のあるブランチの上に、現在の開発をリベースします。
リベースすることで、あなたの変更が単純なものであることを確認でき (マージの衝突が起こらない)、元のプロジェクトのメンテナがあなたのパッチを彼のプロジェクトに含めることを望む場合、pull 要求をより容易にすることができます。
を使用しても、コラボレーションを可能にすることが目的です。 ダイレクト 参加は必ずしも可能ではありません。
GitHub側でクローンするということは、今までの
に
"central" リポジトリ ("central" を複数の共同作業者から見えるようにしたもの)。
のコラボレーターとして直接追加できるのであれば、それを利用することができます。
一
を使えば、別のプロジェクトをフォークで管理する必要はありません。
マージの経験はほぼ同じでしょうが、間接的なレベルが追加されます (最初にフォークでプッシュし、次にプルを要求します。元のレポの進化により、早送りのマージが早送りでなくなるリスクもあります)。
つまり、正しいワークフローは
git pull --rebase upstream
(上流からの新しいコミットの上で自分の作業をリベースする)、次に
git push --force origin
というのは、自分のコミットが常に元の (上流の) リポのコミットの上にあるように履歴を書き換えるためです。
こちらもご覧ください。
関連
-
[解決済み] git stashを元に戻す
-
[解決済み] git commit signing failed: secret key not available.
-
[解決済み] Gitのフォルダ構造で変更・追加されたファイルのみをエクスポートする機能
-
[解決済み] GitHubでフォークされたリポジトリを更新または同期するにはどうすればよいですか?
-
[解決済み] GitHubのREADME.mdに画像を追加する方法とは?
-
[解決済み] Git で、別のブランチの変更を選択的にマージしたり選択したりするにはどうすればよいですか?
-
[解決済み] GitHub リポジトリにタグを作成する
-
[解決済み] GitHub から特定のブランチをプルする
-
[解決済み】Gitのワークフローとrebaseとmergeの質問
-
[解決済み】どのような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マージで「すでに最新」と報告されるが、違いはある
-
[解決済み] fatal: EOF が早い fatal: インデックスパックが失敗した
-
[解決済み] git ls-remote と git ls-remote origin の違い。
-
[解決済み] Git エラー : 'upstream' は git リポジトリでないようです。
-
[解決済み] fatal: bad revision "とはどういう意味ですか?
-
[解決済み] git リモートリポジトリには、ローカルブランチにマージされていないコミットが含まれています。
-
[解決済み] Gitのエラー「object file ... is empty」はどうすれば直せますか?
-
[解決済み] Gitフォークは、実はGitクローンなのか?
-
[解決済み] オリジナルのGitHubリポジトリからフォークしたGitHubリポジトリに新しいアップデートをプルする
-
[解決済み】GitHubのプルリクエストのやり方