次にローカルリポジトリの更新内容をプッシュしてリモートリポジトリを更新します。

このページでは手始めに代表者が一人だけプッシュします。
この場合はGit によるチーム開発の流れで学んだ「衝突(conflict)」は生じません。


Aさんだけ作業するので、他のメンバーはAさんの作業を後から見る。
Aさんはプルを実行し、リモートリポジトリの更新内容をローカルリポジトリに取り込む

git pull --no-edit

※ この時点ではリモートリポジトリは更新されていないので「Already up to date」(既に最新版です)と表示されるだけで何も起きないが、プッシュ前にプルする癖を付けるため実行する

Aさんはプッシュを実行し、自分のローカルリポジトリの更新内容をリモートリポジトリにアップロードする

git push

全員がブラウザを開き、リモートリポジトリ「gitremote」の表示を更新し、hoge.txt の内容が変わっていることを確認する。

すると以下の状態3になります。
AさんのローカルリポジトリのHEADの内容がそのままリモートリポジトリにアップロードされている事が分かります。


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


Aさん


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


インデックス
hoge.txt
name?
A


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


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


インデックス
hoge.txt
name?
B


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


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


インデックス
hoge.txt
name?
C


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


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


インデックス
hoge.txt
name?
D


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