ここでは GitHub 上に作ったリモートリポジトリを使って多人数(今回はAさん、Bさん、Cさん、Dさんの4名)で共同開発をする演習を行います。

まず A さんに GitHub 上でリモートリポジトリを作成してもらい、他のメンバーを登録します。

A さんは GitHub にログインし、演習1-3を参考に「gitremote」という名前でリモートリポジトリを新規作成する。

※ README.md の作成も忘れずに

A さんは GitHub の gitremote リポジトリの「Code」ページを開く。
A さんは 「Add File」ボタンを押し、「Create new file」を選択肢、ファイル名に「hoge.txt」、中身に「name?」(改行無し)と入力し、「Commit new file」ボタンを押す。
A さんは「hoge.txt」が「gitremote」に追加されている事を確認する。
A さんはgitremote リポジトリの「Settings」タブの「Collaborators」の「Manage access」の「Add people」ボタンを押し、B、C、DさんのIDかメアドを入力してメンバー登録する。

※ IDやメアドを間違えると赤の他人を登録しちゃうので注意

B、C、Dさんは A さんから招待メールが届くのを待つ。招待メールが届いたら承認リンクから登録手続きをする。
全員の登録が終わったら A さんは「Manage access」欄を再読込し、全員がメンバー登録されていることを確認する。
B、C、Dさんは右上のメニューから GitHub 全体の「Settings」ページを開き、「Repositories」に「gitremote」が表示されていることを確認する。

次にリモートリポジトリ「gitremote」をローカルリポジトリとしてクローンします。

全員、「gitremote」の「Code」のページを開き、「Code」ボタンを押し、「SSH」タブをクリックして出てきたアドレス(git@github.com:(Aさんのユーザー名)/gitremote.git)をコピーします。
全員端末を開き、演習用のフォルダに移動し、以下のコマンドで「gitremote」をクローンしてローカルリポジトリを作成する

git clone (コピーしたアドレス)

ls でローカルリポジトリが出来ているか確認する
cd gitremote でローカルリポジトリに移動する
ls で README と hoge.txt があることを確認する
cat hoge.txt で hoge.txt の中身を確認する。

この時点で以下の状態 1 となります。
なおリモートリポジトリのところにある「origin/main」は GitHub 上にあるリモートリポジトリの別名です。
また、README.md と HEAD 以前のコミットは省略しています。


状態 1 (README.md と HEAD 以前のコミットは省略)


Aさん


ワーキングツリー
hoge.txt
name?


インデックス
hoge.txt
name?


ローカルリポジトリ
HEAD
hoge.txt
name?
"Create hoge.txt"
Bさん


ワーキングツリー
hoge.txt
name?


インデックス
hoge.txt
name?


ローカルリポジトリ
HEAD
hoge.txt
name?
"Create hoge.txt"
Cさん


ワーキングツリー
hoge.txt
name?


インデックス
hoge.txt
name?


ローカルリポジトリ
HEAD
hoge.txt
name?
"Create hoge.txt"
Dさん


ワーキングツリー
hoge.txt
name?


インデックス
hoge.txt
name?


ローカルリポジトリ
HEAD
hoge.txt
name?
"Create hoge.txt"
リモートリポジトリ(origin/main)
HEAD
hoge.txt
name?
"Create hoge.txt"