2011-11-02 7 views
65

GitHubリポジトリに公開されているPHPプロジェクトは1つのブランチ(マスター)しかありません。GitHubの公開リポジトリの私的なブランチを持っていますか?

私は個人用の私用の別個のブランチ/フォークを持っていたい(私はプライベートGitHub reposを支払った)。プライベートブランチ/フォークからの変更をパブリックリポジトリにマージすることができますし、その逆も可能です。念頭に置いて

、ここに私の質問は以下のとおりです。

  1. は、私は公共のレポで構内を持つことができますか?
  2. 自分のパブリック・リポジトリを自分専用のブランチ/フォークにフォークできますか?
  3. 上記の両方が可能な場合、これが最善の方法ですか?どちらもなければ、どのように進めるべきですか?
+1

公開リポジトリを公開リポジトリにプッシュ(戻し)しない(またはその逆)いくつかのブランチを作成するプライベートレポジトリとして公開リポジトリをフォークすることをお勧めしますか? – Legolas

+0

私は何を求めているのですか?パブリックリポジトリのコピーを作成できるようにしたいのですが、私の更新はプライベートにする必要があります(特定のものをパブリックに戻したいのでない限り) – Lizard

+0

http://24ways.org/2013/keeping -parts-of-your-codebase-private-on-github/ – assylias

答えて

66

それは公共のレポに構内を持つことは可能ですか?

GitHubでは、あなたのリポジトリはパブリックまたはプライベートのいずれかです。ブランチだけを選択的に「民営化」することはできません。

自分のプライベートブランチ/フォークに私自身の公開レポをフォークできますか?

あなたは、必要に応じて、ローカルマシン、ブランチに公開レポのクローンを作成し、単に上流あなたの「プライベート」枝をプッシュすることはできません(原点にプッシュするブランチを指定することにより:git push origin masterまたはgit push origin branch-i-want-to-be-public:master)。

これはどのように進むべきですか/どのように進むべきですか?両方のあなたの公共および民間の開発のためのGitHubを利用するためには

、私は、GitHubの中にあなたの公開ブランチをフォーク「プライベート」に新しいフォークの設定を変更して、民間のバージョンをクローニング示唆していますローカルマシンにダウンロードしてください。変更を公開する準備ができたら、すべてをGitHubのプライベートフォークにプッシュし、次にpull requestsを使用してブランチをパブリックリポジトリに選択的にコピーします。

GitHubでリポジトリを非公開にするには、(有料)アカウントをアップグレードする必要があります。フリーアカウントを揺らすだけの場合でも、プライベートレポを必要とせずに— クローンをローカルマシンにブランチし、特定の "パブリック"ブランチをオリジンにプッシュすることができます。

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

+15

GitHubでは、パブリックリポジトリのフォークをプライベートにすることはできません。プライベートにするためにレポを複製する必要がありますし、パブリックリポジトリへの接続を失うことになります。プライベートレポのローカルクローンとは別のリモートとしてパブリックレポを追加できるかどうかは疑問です。その後、ブランチをそのリモートにプッシュします。 – mj1531

+0

ちょうど試しました。できます! – mj1531

+0

これは残念なことに、プルリクエストを使用してプライベート "フォーク"からリポジトリのパブリックコピーにプルすることはできません。 –

1

1.)それはありません、私が知っていることから、公共のレポ

に構内を持つことが可能です。

2)私は自分の構内に

を私自身の公共のレポをフォークすることはできません、あなたは、単一のブランチにフルレポ(1-Nの枝)をフォークすることはできません。まあ実際には、もしあなたがちょうど完全なレポの1つのブランチをフォークするなら、あなたはできます。それをリモートとして追加するか、クローンから開始するだけです。

Sparse checkoutsに興味があります。

3)上記の両方の場合には、どのように私が進むべき可能であり、いずれでもない場合は、前方

N/

4)最良の方法である可能性がありますか?

N/

24
  1. Duplicate your repo
  2. GitHubで複製されたrepoをプライベートなものにします。その新に公開レポのために意図コミットと
  3. プッシュ支店:
  4. クローン
  5. が公開レポにリモートを追加し、あなたのマシンにプライベートレポ(...リモート公共[email protected]を追加GIT)公共のリモート。
  6. 「git fetch public」を使用してパブリック・リポジトリに変更を加えてからローカルにマージし、プライベート・リポジトリ(オリジン・リモート)にプッシュすることができます。
+0

私は逆の順序でそれをやらなければならなかったが、複製は最初はプライベートなレポを作成してから、コマンドラインからパブリック・レポを複製する必要があった。ありがとう! – Joel

関連する問題