GitHubでは「パブリックリポジトリ」と「プライベートリポジトリ」を利用することが出来ますが、自分一人だけでなく特定のユーザーだけで共有するプライベートリポジトリを利用したいといった用途は意外と多いものです。
本記事では、プライベートリポジトリに他のユーザーを招待する方法についてご紹介していきます。
目次
GitHubにプライベートリポジトリを作成
まずはGitHubにプライベートリポジトリを作成し、コラボレーターとしてプライベートリポジトリに他のユーザーを招待していきます。
新規リポジトリの作成
GitHubにログインした画面で、画面左側の「Create repository」ボタンをクリックします。
今回はサンプルとして「private-sample」という名前のリポジトリを作成していきます。
招待したユーザーが作業出来るかを確認出来るように、画像赤枠箇所のリポジトリタイプは「Private」を選択しておいてください。
設定が完了したら画面下部の「Create repository」ボタンをクリックします。
これで招待用のプライベートリポジトリの作成が完了しました。
GitHubのプライベートリポジトリに他のユーザーを招待
では実際にプライベートリポジトリに他のユーザーを招待する方法を確認していきましょう。
現時点で他のユーザーからプライベートリポジトリにアクセスしてみると下記画像のように表示されます。
404エラーが表示されリポジトリを参照することが出来ませんでした。
他のユーザーを招待
他のユーザーを招待するには、「Settings」タブを開きます。
画面左側のカテゴリから「Manage access」をクリックします。
認証を求められますので、パスワードを入力して「Confirm password」をクリックします。
赤枠の「Invite a collaborator」ボタンをクリックしてみましょう。
ポップアップが表示されるので、「ユーザー名」や「メールアドレス」を入力して招待したいユーザーを選択します。
ユーザー名を入力した場合には、画像のようにアイコンが表示されているのでクリックして選択します。
メールアドレスを入力した場合には、メールのアイコンと宛先が表示されているので間違いないことを確認しクリックします。
ユーザー名に間違いがないか今一度確認して、「Add ユーザー名 to this repository」ボタンをクリックします。
招待されたユーザーが追加されましたが、「Pending invite」と表示されており、保留中であることが分かります。
この状態は招待されたユーザー側で承認されていない状態を意味しています。
招待を受けた側での確認
上述したプライベートリポジトリの招待まで実施すると、招待を受けた側のユーザーの登録メールアドレスに画像のようなメールが届いています。
「View invitation」ボタンをクリックして内容を確認してみましょう。
画像のように招待を受け取っている旨が記載された画面が表示されますので、招待を受ける場合「Accept invitation」ボタンをクリックしましょう。
画面が切り替わり別のユーザーが作成したプライベートリポジトリにアクセス出来ていることが分かります。
GitHubでプライベートリポジトリの招待ユーザーを解除
GitHubでプライベートリポジトリに招待ユーザーを追加するところまで確認出来たので、今度は招待したユーザーを解除する方法についても確認しておきましょう。
コラボレーターを解除
招待したユーザー(コラボレーター)を解除するには、招待した際と同じように「Settings」タブを開きます。
Manage accessに招待済みのユーザーが表示されているので、ユーザーの右端に表示されているゴミ箱アイコンをクリックします。
このユーザーをリポジトリから削除して良いかの確認メッセージが表示されるので、問題なければ「Remove ユーザー名 from this repository」ボタンをクリックします。
Manage access領域に表示されていたユーザーが消えており、0 collaboratorsと表示が切り替わっていることを確認出来ます。
GitHubにおけるオーナーと招待ユーザーの権限レベル
ここまででプライベートリポジトリに対してユーザーを招待し、招待済みユーザーのアクセス権を解除する方法について確認出来ました。
最後にGitHubにおけるリポジトリオーナーと招待ユーザーの権限レベルの違いについても確認しておきましょう。
リポジトリ権限レベル
プライベートリポジトリに招待されたユーザーは、アクセス出来るようになったからといって全ての操作が可能になるわけではありません。
ユーザーアカウントが所有するリポジトリのオーナーはあくまで 1人であり、所有権の権限を別のユーザーアカウントと共有することは出来ません。
ユーザーアカウントが所有するリポジトリには「リポジトリオーナー」と「コラボレータ」の2つの権限レベルが存在することを意識しておきましょう。
権限レベルによる操作範囲の違い
では「リポジトリオーナー」と「コラボレータ」でどのような操作範囲の違いがあるのかいくつかピックアップしてご紹介していきます。
リポジトリオーナー
オーナーはリポジトリに関する全ての操作が実行でき、オーナーのみが出来る操作を記載します。
- コラボレータの招待
- デフォルトブランチ名の変更
- リポジトリの削除
- リポジトリのセキュリティおよび分析設定
- パッケージの削除および復元
- リポジトリからテンプレートを作成
- プルリクエストの自動マージを許可または禁止
今回ご紹介しているコラボレータの招待もリポジトリオーナーのみが可能な操作です。
これらの操作に加えて、後述するコラボレータが可能な操作ももちろん実行出来ます。
コラボレータ
今回招待方法を解説したコラボレータが利用出来る機能についても一覧で確認しておきましょう。
- リポジトリのフォーク
- デフォルト以外のブランチ名変更
- Issueの作成・割り当て・クローズ・再オープン
- プルリクエストの作成・マージ・クローズ
- プルリクエストの自動マージの有効化・無効化
- Wikiの作成および編集
- パッケージの公開・表示・インストール
コラボレータでもチーム開発を実施する上での基本的な機能は全て利用することが可能です。
Issueの作成やプルリクエスト関連の処理、リポジトリのフォークなど一般的にチーム開発で利用する機能は一通り使えます。
ただし、オーナー権限のようにセキュリティの設定やコアとなる機能の削除や変更は出来ません。
詳しくは公式ドキュメントをご確認ください。
さいごに: GitHubでプライベートリポジトリにユーザーを招待してチーム開発を始めよう
本記事では、 GitHubのプライベートリポジトリにユーザーを招待する方法についてご紹介してきました。
GitHub自体は使ったことがある開発者の方も多いかと思いますが、意外とリポジトリオーナーとしてユーザーを招待するような機能については触れたことがない方も多いはずです。
プライベートリポジトリも無料で利用出来るようになりましたので、ぜひ実務以外でも他のユーザーを招待してチームでのオリジナルアプリ開発にチャレンジしてみてください。
招待メールの有効期限は7日以内に設定されているため、期限内に承認しない場合、再度招待メールが必要となります。