GitHubでは、無料ユーザーは従来publicリポジトリのみ利用可能だったのですが、2019年1月8日(アメリカ時間)からprivateリポジトリに関しても無料で作成出来るようになりました。
本記事では、無料ユーザーでも利用出来るようになったprivateリポジトリの作成からpublicリポジトリとの切り替えを含めた可視性の設定方法についてご紹介していきます。
目次
GitHubでprivateリポジトリを作成する
最初にGitHubでprivateリポジトリを作成する手順をご紹介していきます。
リポジトリ作成
GitHubにログインした画面で「Repositories」の「New」ボタンをクリックします。
新しいリポジトリの作成画面が表示されるので、「public」と「private」の選択用ラジオボタンで「private」を選択するだけです。
画面下部へスクロールし「Create repository」のボタンをクリックすると、privateで新たなリポジトリが作成されます。
サンプルではリポジトリ名「private-test」でprivateリポジトリを作成する例です。
画像のように作成したリポジトリに「private」と表示されていれば完了です。
GitHubのリポジトリ設定をprivateとpublic相互に変更する方法
作成したリポジトリをpublicやprivateに変更することもGitHubのGUIから簡単に実現可能です。
privateからpublicへの変更
先程作成したprivateリポジトリをpublicに変更してみましょう。
タブの中から「Settings」を選択します。
リポジトリの可視性を変更するのは影響が大きいため「Danger Zone」の領域に設定されています。
一番上の「Change repository visibility」の「Change visibility」ボタンをクリックします。
ポップアップが表示されるので、「Make public」のラジオボタンを選択します。
可視性の変更を実施するには、表示されているリポジトリ情報を入力して確認が必要です。
確認が出来たら「I understand, change repository visibility.」のボタンが押下出来るようになるためクリックします。
GitHubのログインパスワードが要求されるので入力して「Confirm password」ボタンをクリックしましょう。
リポジトリの情報が「public」に変更されていれば完了です。
publicからprivateへの変更
publicからprivateへのリポジトリ可視性の変更も上記と同様の手順で可能です。
privateからpublicに変更した際同様、「Danger Zone」の「Change visibility」ボタンから変更していきます。
この際、赤枠で囲んだThis repository is currentlyの表記が「public」になっていることを確認しておきましょう。
この部分が「public」の場合は「private」への変更に、「private」の場合は「public」への変更となります。
「Change visibility」以降ボタンクリック以降の手順は上記と同じですので省略します。
GitHubの無料化はprivateリポジトリだけじゃない
上述しているようにGitHubのprivateリポジトリが2019年1月より無料で提供されるようになったわけですが、2020年4月14日(アメリカ時間)には更に多くの制限を解除し主な機能を全て無料化すると発表しました。
ほとんどのユーザーが無料アカウントで必要十分な機能が提供されるようになったわけですが、GitHubを利用する上で有料プランとの違いについても念のため把握しておきましょう。
料金プラン
- Freeプラン
- $0/月
- 無制限のパブリック/プライベートリポジトリ
- 無制限のコラボレータ
- GitHub Actions利用時間2,000分/月
- GitHub Packages利用500MB/月
- コミュニティボードによるサポート
- Teamプラン
- $4ユーザー/月
- Freeプランに含まれているすべての機能
- 必須レビューワー
- GitHub Actions利用時間3,000分/月
- GitHub Packages利用2GB/月
- コードオーナー
- Enterpriseプラン
- $21ユーザー/月
- Teamプランに含まれているすべての機能
- SAMLによるSSO
- GitHub Actions利用時間50,000分/月
- GitHub Packages利用50GB/月
- 高度な監査機能
無料プランで利用出来ない・制限付きの機能
GitHubの主要機能に関しては無料プランでも利用出来るようになりましたが、privateリポジトリに対するいくつかの機能が利用出来なかったり、publicリポジトリに制限されています。
ワークフロー
- 保護されたブランチ(publicのみ)
- コードオーナー(publicのみ)
- ドラフトPull request(publicのみ)
- 複数人にPull requestをアサインする(publicのみ)
- 複数人にPull requestのレビューをアサインする(publicのみ)
- スケジュールされたリマインダ(publicのみ)
- コードレビューアサインの自動化(publicのみ)
ブランチのマージに制限を掛けたり、正式なレビューを提出する前に議論するドラフトPull requestなどの機能がpublicリポジトリに限定されています。
コラボレーション
- PagesとWiki(publicのみ)
- リポジトリインサイト(publicのみ)
- Issueを複数人にアサイン(publicのみ)
PageとWikiの利用や、Issueを複数人にアサインする機能がpublicリポジトリに限定されています。
セキュリティとコンプライアンス
- コードスキャニング(publicのみ)
- シークレットスキャニング(publicのみ)
- セキュリティアップデートの自動化(publicのみ)
- 必須レビュー(publicのみ)
- ステータスチェックの必須化(publicのみ)
- GitHub Security Advisories(publicのみ)
- 監査ログAPI(利用不可)
- GitHubコネクト(利用不可)
- SAMLによるSSO(利用不可)
- LDAP(利用不可)
- 許可するIPリスト(利用不可)
「 Pull Requestに特定の数の承認レビューがなければ、保護されたブランチに変更掛けられない機能」がpublicのみとなっていることや、「IDプロパイダを使ってGitHubのユーザーやアプリケーションのIDを管理する機能」が利用出来ません。
Marketplace and integrations
- Pre-receive hooks(利用不可)
プッシュの内容に基づいて、プッシュを自動的に承認または拒否するための要件を作成出来る「Pre-receive hooks」の機能が利用出来ません。
サポート、 その他
- スタンダードサポート(利用不可)
- プレミアムおよびプレミアムプラスサポート(利用不可)
- 電話サポート(利用不可)
- 請求書発行(利用不可)
- セルフホスト・デプロイメント(利用不可)
GitHubコミュニティフォーラムでの質問やサポートは利用可能ですが、サポートチームによる対応は利用することが出来ません。
上記で挙げた機能以外の主要機能は無料プランでも利用可能です。
さいごに: GitHubのprivateリポジトリを積極的に活用しよう
本記事ではGitHub無料ユーザーでも利用することが出来るようになったprivateリポジトリに関して、作成方法から可視性の変更、制限機能までご紹介してきました。
複雑な設定や機能を利用しない限り、無料プランでもprivateリポジトリを十分に運用出来るだけの機能が提供されています。
必要であればpublicリポジトリへの変更も記事内でご紹介した通り簡単に実施出来ますので、ぜひprivateリポジトリを活用したソースコード管理をGitHubで実施してみましょう。
GitHubアカウントを持っている前提で解説していきますので、アカウントをお持ちでない方は先にGitHubアカウントを作成しておいてください。