web-dev-qa-db-ja.com

GitHubにパブリックリポジトリのプライベートブランチがありますか?

GitHubリポジトリに公開されているPHPプロジェクトがあり、そこにはブランチ(マスター)が1つだけ含まれています。

私は私用の別のブランチ/フォークを持ちたい(私は私的GitHubリポジトリの支払いをした)。プライベートブランチ/フォークからパブリックレポジトリへ、およびその逆への変更をマージできるようにしたいと思います。

それを念頭に置いて、ここに私の質問があります:

  1. パブリックリポジトリにプライベートブランチを置くことはできますか?
  2. パブリックリポジトリをプライベートブランチ/フォークにフォークできますか?
  3. 上記の両方が可能である場合、どちらが最善の方法ですか?どちらでもない場合、どうすればよいですか?
96
Lizard

パブリックリポジトリにプライベートブランチを持つことは可能ですか?

GitHubでは、リポジトリはパブリックまたはプライベートです。ブランチのみを選択的に「プライベート化」することはできません。

自分のパブリックリポジトリを自分のプライベートブランチ/フォークにフォークできますか?

パブリックリポジトリをローカルマシンにクローンし、必要に応じてブランチを作成し、「whichブランチをPush to Origin:git Push Origin master または git Push Origin branch-i-want-to-be-public:master)。

どの方法が最適な方法ですか/どのようにすればよいですか?

パブリック開発とプライベート開発の両方でGitHubを活用するには、GitHub内でパブリックブランチをフォークし、新しいフォークの設定を「Private」に変更してから、プライベートバージョンをローカルマシンに複製することをお勧めします。変更を公開する準備ができたら、すべてをGitHubのプライベートフォークにプッシュし、 pull requests を使用しますブランチをパブリックリポジトリに選択的にコピーします。

GitHubでリポジトリをプライベートにするには、アップグレードされた(paid)アカウントが必要です。無料アカウントのみをロックしている場合でも、最初に提案したプロセスを使用できます—ローカルマシン、ブランチにパブリックをクローンし、特定の「パブリック」ブランチをOriginにプッシュします—プライベートリポジトリは必要ありません。

有料のGitHubアカウントを持っている場合、またはパブリックおよびプライベートフォークとプルリクエストを提供する別のサービス( BitBucket など)を使用している場合は、上記のいずれかの方法を使用してコードをパブリックにすることができます。

  1. レポジトリを複製する
  2. 複製されたレポジトリをGitHubのプライベートレポジトリにします。
  3. プライベートリポジトリをマシンにクローンします
  4. リモートをパブリックリポジトリに追加します(git remote add public [email protected]:...)
  5. パブリックリポジトリ向けのコミットでブランチをその新しいパブリックリモートにプッシュします。 (プライベートのみのコードを誤ってコミットしないようにしてください)
  6. 'git fetch public'を使用して変更をパブリックリポジトリに取り込み、ローカルでマージしてプライベートリポジトリ(Originリモート)にプッシュできます。
41
mj1531

1.)パブリックリポジトリにプライベートブランチを持つことは可能ですか

私が知っていることから、いいえ。

2.)自分のパブリックリポジトリを自分のプライベートブランチにフォークできますか

いいえ、完全なレポ(1〜nブランチ)を単一のブランチにフォークすることはできません。完全なレポの1つのブランチを分岐するだけであれば、実際には可能です。リモートとして追加するか、クローンから開始します。

スパースチェックアウト にも興味があるかもしれません。

3.)上記の両方が可能な場合、これが最善の方法です

該当なし

4.)どちらも不可能な場合、どうすればよいですか?

該当なし

1
hakre