リモートリポジトリ

ローカルリポジトリとリモートリポジトリの連携の流れ

リモートリポジトリと連携する前は、リモートリポジトリのみ存在している。

f:id:mkyosuke:20191219121136p:plain

次にgit cloneコマンド実行

リモートリポジトリの複製がローカルリポジトリに作成。

・作業中になるブランチはリモートリポジトリ上でデフォルトブランチとして設定されているブランチになります。(通常masterブランチ)

・リモートリポジトリに存在していたブランチは、origin/を頭に付けたブランチ名としてローカルリポジトリに引き継ぐ。origin/が付いたブランチは追跡ブランチと呼ぶ。

リモートリポジトリの変更履歴を管理する為に利用される。

f:id:mkyosuke:20191219122816p:plain

●リモートリポジトリの変更をローカルリポジトリに反映

リモートリポジトリが変更されたとします。リモート上のmasterブランチは変更履歴Cを指す。

f:id:mkyosuke:20191219123257p:plain

次にgit fetchコマンドを実行。リモートの変更がローカルに反映。origin/masterの位置も変更履歴Cを指す。ただし、作業中のmasterブランチは移動しない。

f:id:mkyosuke:20191219123655p:plain

 作業中のブランチに追跡ブランチの変更内容を反映したい場合は、

git mergeあるいはgit rebaseコマンドを利用。

f:id:mkyosuke:20191219124023p:plain

●ローカルリポジトリの変更をリモートリポジトリに反映

次はローカルリポジトリを変更したとします。ローカルリポジトリ上のmasterブランチが変更履歴Dとなる。

f:id:mkyosuke:20191219124550p:plain

次にこの状態でgit pushコマンドを実行。

リモートリポジトリに変更履歴の追加が反映。

リモートのmasterブランチと、ローカルのorigin/master(追跡ブランチ)が移動。

f:id:mkyosuke:20191219124938p:plain

このように、Gitは追跡ブランチを通してリモートリポジトリと連携を行っている。