パブリック リポジトリをフォークして、フォークをプライベートにするにはどうすればよいでしょうか? プライベート リポジトリをサポートするためのサブスクリプションを持っています。
ベストアンサー1
答えは正しいですが、パブリック リポジトリとフォーク間でコードを同期する方法については触れられていません。
完全なワークフローは次のとおりです(オープンソース化する前にこれを実行しました)リアクトネイティブ):
まず、他の人が言ったようにリポジトリを複製します(詳細ここ):
新しいリポジトリ( と呼ぶことにしますprivate-repo
)を作成します。Github UI。 それから:
git clone --bare https://github.com/exampleuser/public-repo.git
cd public-repo.git
git push --mirror https://github.com/yourname/private-repo.git
cd ..
rm -rf public-repo.git
作業できるようにプライベート リポジトリをクローンします。
git clone https://github.com/yourname/private-repo.git
cd private-repo
make some changes
git commit
git push origin master
パブリックリポジトリから新しいホットなものを取得するには:
cd private-repo
git remote add public https://github.com/exampleuser/public-repo.git
git pull public master # Creates a merge commit
git push origin master
素晴らしいです。プライベート リポジトリには、パブリック リポジトリの最新のコードと変更内容が反映されました。
最後に、プル リクエストを作成するには、プライベート リポジトリ -> パブリック リポジトリを使用します。
GitHub UI を使用して、パブリック リポジトリのフォークを作成します (パブリック リポジトリ ページの右上にある小さな [フォーク] ボタン)。次に、次の手順を実行します。
git clone https://github.com/yourname/the-fork.git
cd the-fork
git remote add private_repo_yourname https://github.com/yourname/private-repo.git
git checkout -b pull_request_yourname
git pull private_repo_yourname master
git push origin pull_request_yourname
これで、Github UIからpublic-repoのプルリクエストを作成できるようになりました。ここ。
プロジェクト所有者がプルリクエストを確認すると、それをマージできるようになります。
もちろん、プロセス全体を繰り返すこともできます (リモートを追加する手順を省略するだけです)。