8

背景:これに似た状況がありますが、解決策では問題が解決しません。GitHub で、プロジェクトのフォークをフォークしました。

Original -> SomeonesFork -> MyFork

私は、SomeonesFork が行ったいくつかの変更をクリーンアップし、プル リクエストを元のレポに送り返すために、SomeonesFork からフォークしました。それ以来、私は受け入れられたオリジナルに直接プル リクエストを送信しました。

ただし、SomeonesFork を仲介するのではなく、自分のレポをオリジナルの直接フォークにすることをお勧めします。(GitHub での作業がはるかに簡単になります。) オリジナルをアップストリームとして設定し、フォークにプッシュしましたが、GitHub はまだ SomenesFork のフォークだと言っています。

オリジナルを再度フォークしようとすると、すでに存在するものに送られます。調査によると、GH は複数のフォークを許可していないようです。

だから私の質問は:私が今持っているフォークを単に削除してから、オリジナルを再フォークしても安全ですか?これにより、git または GitHub のどこかで問題が発生しますか?

4

1 に答える 1

15

Gitは分散システムであり、コードがコミットまたはプッシュされたすべてのリポジトリにすべてのコードのコピーがあります。リポジトリ間の参照は、マージコミットがどこから来たかを示す最小限のテキストフラグです。それらの間に実際のリンクはありません。

過去にgithubの多くのフォークを削除しましたが、悪影響はありませんでした。プルリクエストは、パッチファイルとしてリポジトリ所有者に「送信」されます。プルリクエストの最後に固執.patchするか、githubのURLをコミットして、パッチファイルの内容をプレーンテキストで確認してください。これは、私が維持しているプロジェクトに対して他の誰かが要求したものです:https ://github.com/j4mie/paris/pull/35.patch

したがって、それは自己完結型であり、フォークを削除しても、アップストリームリポジトリの所有者がこのパッチを利用できるかどうかには影響しません。

于 2013-01-02T15:55:06.810 に答える