それぞれのチームに属することで権限が分かれていると作業しやすからだ。
Aチームは文書を読み込むだけで、Bチームは書き込みも許可されている。
Cチームは何も手を出せないとかね。
DogRoboはCチームに配属されそうだ。。
今回はまず新しく個人アカウントを作成してその後「Organizationアカウント」を新規で作成します。(例えばこれを会社のアカウントだと考えます)
次に「Organizationアカウント」で作成したリモートリポジトリを作成します。
更に共同作業者のメンバー登録を行います。この共同作業者の中に今まで使用していた自分のGitHubの「Userアカウント」も登録してみることにしましょう。
GitHubには個人用の「Userアカウント」と複数人用の「Organizationアカウント」があります。
個人用のアカウントの作り方はユーザー名とメールアドレスとパスワードを設定してユーザー登録するだけです。「Git入門(4)〜GitHubで共有する」を参考にしてください。
userアカウント → 個人のアカウント
どちらもプロジェクトを持つことができます。
「Organizationアカウント」は上記以外にユーザーごとのアクセス制限をしたり、複数の管理人や共同作業者を持つことができます。
Organizationアカウント の作り方
GitHubのTOPページ右上メニューの+から「New organization」で作成します。
組織名と、そのグループの連絡先となるメールアドレスが必用になります。
「Organization name」と「Billing email」を記入して「freeプラン」を選択します。
その後、Create organizationボタンをクリックします。
ここで確認のメールがGitHubから届きますので確認します。
GitHubに新しく用意した個人用のアカウントで認証後Topページでアカウントスイッチャーで作成した「Organizationアカウント」を選びます。
アカウントスイッチャーは2016年10月現在ではページ左の真ん中くらいに存在します。下図参考
「Organizationアカウント」で新しいリモートリポジトリを作成します。
リモートリポジトリができるとSourceTreeの設定で必用になるアドレスができあがります。リモートリポジトリの作成は個人用で作成したリモートリポジトリと同じ手順です。
SourceTreeの設定
SourceTreeの設定は「Git入門(4)〜GitHubで共有する」の新規公開リポジトリを作成に既存にローカルリポジトリをPushする方法を参考にしてください。
SourceTreeの設定の手順を簡単に記述しておきます。(Mac用です)
ローカルリポジトリ作成を選択します。
「SourceTree」の画面のツールバー右側にある「設定」を開きます。
リモートリポジトリ作成のときに出てきたURL/パスを記述します。
このエラーの原因が大事なポイントになります。
今回作成したリモートリポジトリは自分の「User権限」で作成したリポジトリではありません。新規に作成した「Userアカウント」の「Organizationアカウント」を使って作成したリポジトリです。SourceTreeには今まで使用していた自分のアカウントが登録されているはずです。つまり今回作成したリポジトリに「push」する権限がないのです。
尚、SourceTreeのアカウント登録は環境設定の中にあります。
そのため「個人User」が「push」するには「Organizationアカウント」でメンバーにしてもらう必用があります。
メンバーの追加
GitHubのTopページからアカウントスイッチャーで「Organizationアカウント」を選択して表示されるページのリンク部分をクリックするとリポジトリ作成のページが表示されます。(2016年10月現在の画面です。UIが変更になった場合はそれらしいところを探しましょう)
チームに属さずにメンバーになる方法
まずはチームに属さずにメンバーになる方法を説明します。
「people」タグを選択するとメンバー追加のページが表示されます。メンバーを追加するには「Invite member」ボタンをクリックして追加します。
メンバーのユーザー名を入力すればその途中から候補が出ますのでその中から選択できます。
「member」の権限は「Setting」タグから、「Member privileges」を選択すると「Admin」、 「Write」、 「Read」、 「None」などの権限を設定できます。
なお、メンバーに追加するとそのメンバーにメールで通知されます。メンバーがメールに書かれたリンクをクリックすると正式にメンバーに追加されます。
メンバーがメールを見てないとペンディング状態になりメンバーに追加されていないで保留状態になります。
チームに属してメンバーになる
「Teams」タブをクリックするとチーム作成のページが表示されます。「Create a new team」ボタンをクリックしてチームを作成します。
メンバー一覧のメンバー名のところがリンクになっているのでクリックするとそのメンバーの詳細を見ることができます。
「Add a person」で追加したいメンバーを追加することができます。そうするとチームに属したメンバーになれます。
権限の設定
アクセス権の内容
- Read Access
- This team will be able to view and clone its repositories.(そのリポジトリに対しpullのみ可)
- Write Access
- This team will be able to read its repositories, as well as push to them.(そのリポジトリに対しpullとpushが可)
- Admin Access
- This team will be able to push/pull to its repositories, as well as add other collaborators to them.(そのリポジトリに対しpullとpushが可)
メンバーの権限の設定はあらかじめ作成しておいたリモートリポジトリで設定します。作成したリモートリポジトリの「settings」タブを選択して、左のメニューから「Collaborations & teams」を選択して「select team」から作成したチームを選択します。
次に表示された「Teams」の中の「Admin」 「Write」 「Read」から権限を選びます。通常は「Write」になると思います。
以上の設定でメンバーになることで権限を持つと「push」できるようになります。先程エラーが出ていた「SourceTree」も「push」できるようになります。
コメントを投稿するにはログインしてください。