前の記事では、リモートリポジトリからローカルリポジトリを作成する方法について解説しました。
この章では、パブリックのリポジトリへのプッシュには制限がかかっているので、他者がpush(プッシュ)できるようにする設定について解説します。
コラボレーターの設定
パブリックのリモートリポジトリはクローンとプルなどのデータを取得する操作はできますが、プッシュなどのデータに変更を加える操作はできないようになっています。
コラボレーターの招待
1つのリモートリポジトリを複数人で編集したい場合は、コラボレーター(共同制作者)の設定を行い共同制作者として招待しなければいけません。
![Collaborators](https://design-pull.com/wp-content/uploads/2022/04/bandicam-2022-04-14-15-27-03-196.jpg)
Collaboratorsをクリック後、GitHubのパスワードを入力してConfirm passwordをクリックします。
![Confirm password](https://design-pull.com/wp-content/uploads/2022/04/bandicam-2022-04-14-15-27-17-689.jpg)
Manage accessのAdd peopleをクリック。
![Add people](https://design-pull.com/wp-content/uploads/2022/04/bandicam-2022-04-14-15-27-38-696.jpg)
検索窓が表示されるので、招待したいGitHubユーザー名を入力し選択します。
招待するユーザーに間違いがなければ、Add ユーザー名 to this repositoryをクリックします。
![ユーザー選択](https://design-pull.com/wp-content/uploads/2022/04/bandicam-2022-04-14-15-48-02-384.jpg)
![ユーザー選択](https://design-pull.com/wp-content/uploads/2022/04/bandicam-2022-04-14-15-48-27-920.jpg)
今の段階は招待した側にpending lnvite(保留中の招待)と表示された状態です。
招待したユーザーにメールが届くので招待を承認してコラボレーターの設定は完了です。
![招待保留中](https://design-pull.com/wp-content/uploads/2022/04/bandicam-2022-04-14-15-48-49-285.jpg)
招待された側
招待された側の画面表示になります。
GitHubで登録したメールアドレスにリポジトリの招待メールにView invitaion(招待状を表示)をクリックします。
クリック後は、GitHubのサイトに移行するのでAccept invitation(招待を受ける)をクリックすることによって、招待された側もプッシュすることが可能になります。
![招待メール](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220414-155217_Gmail-498x1024.jpg)
![GitHub](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220414-155238_Chrome-498x1024.jpg)
招待した側
招待された側が招待を了承するとpending lnviteの表示が消えて招待を了承したことが確認できます。
![pending lnvite](https://design-pull.com/wp-content/uploads/2022/04/bandicam-2022-04-15-13-46-10-281.jpg)
招待したユーザーがプッシュできるか確認
まずは招待された側からREADME.mdのファイルをプッシュする流れを一通り通ります。
README.mdにテキストを入力し、master branchとnew branchとあるのでnew branchを選択しPropose changesをクリックします。
![テキスト入力](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220415-150032_Chrome-498x1024.jpg)
![new branch](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220415-150044_Chrome-498x1024.jpg)
Propose changesクリック後はリモートリポジトリのデータをpull(プル)する必要がある為、Create pull request(プルリクエスト)をクリックします。
![pull request](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220415-150237_Chrome-498x1024.jpg)
![pull request](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220415-150300_Chrome-498x1024.jpg)
リモートリポジトリにpush(プッシュ)する前に必ずpull(プル)する必要があります。これはGitHub Desktopの仕様です。
Merge pull request(プルリクエストのマージ)をクリックし、Confirm merge(マージを確認)をクリックします。
![Merge pull request](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220415-150318_Chrome-498x1024.jpg)
![Confirm merge](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220415-150333_Chrome-498x1024.jpg)
ここまでの作業でプッシュ&マージが完了しリモートリポジトリに反映完了です。後は、不要なbranch(ブランチ)が残っているのでbranchをDelete(消去)します。
※branch(ブランチ)については次の章で解説します。
Delete branchをクリックしてbranchを消去します。
![Delete branch](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220415-150343_Chrome-498x1024.jpg)
![History](https://design-pull.com/wp-content/uploads/2022/04/Screenshot_20220415-150351_Chrome-498x1024.jpg)
History(ヒストリー)で確認する
GitHub Desktopでまずはpull(プル)してからHistoryをクリックして確認します。
![History](https://design-pull.com/wp-content/uploads/2022/04/bandicam-2022-04-15-16-08-13-603-1024x567.jpg)
問題なく招待したアカウントからpush(プッシュ)した内容が反映されています。
ここまでが、リモートリポジトリの製作者以外がプッシュできるようにする設定方法になります。
次の章では、複数人での作業になると必ず直面するコンフリクト(データの衝突)とブランチ(枝分かれ)について解説します。