GitHub Desktop

GitHubのローカルリポジトリとリモートリポジトリについての理解とclone(クローン)【Gitバージョン管理システム】-STEP4

GitHubのローカルリポジトリとリモートリポジトリについての理解

Gitで共同作業を行うために必要となるのがリモートリポジトリで、前の記事ではローカルリポジトリにコミットしたところまでを学習しました。

リポジトリにコミット
GitHub Desktopでリポジトリにコミットについてのまとめ【Gitバージョン管理システム】-STEP3ローカル環境でVSCode編集で保存した内容はコミットするまでリポジトリに影響はでません。この章ではVSCodeでファイル編集→保存→コミットまでの流れを解説します。コミット(commit):追加・変更したファイルをローカルリポジトリに記録すること。...

この章ではローカルリポジトリとリモートリポジトリについて理解する内容になります。

リモートリポジトリについて

ローカルリポジトリは自身のPC内にあるリポジトリで、リモートリポジトリはインターネット上にあるリポジトリです。

Gitを使って複数人で作業したい場合はリモートリポジトリの作成が必要になります。

このリモートリポジトリの環境を提供しているのがGitHubです。リモートリポジトリは複数作成することができますが、混乱を防ぐために1つのプロジェクトにつき、1つのリモートリポジトリを用意することが基本となります。

ローカルリポジトリとリモートリポジトリ
ローカルリポジトリとリモートリポジトリ

・ローカルリポジトリのデータをリモートリポジトリに反映させることをpush(プッシュ)

・リモートリポジトリのデータをローカルリポジトリに反映させることをpull(プル)

リモートリポジトリの状態

GitHubではリモートリポジトリの状態を公開か非公開の設定ができます。

公開と非公開
公開と非公開

・誰でも見れる状態が公開Public(パブリック)

・許可した人のみ閲覧可能な状態が非公開Private(プライベート)

リモートリポジトリ複数人で作業

一番最初にする作業としてリモートリポジトリを複製したデータをローカルリポジトリに作る必要がありこの作業をClone(クローン)といいます。

Clone クローン
Clone クローン

リモートリポジトリのデータをローカルリポジトリに作り、全員のデータ内容が同じになった状態でプロジェクトを進めていきます。

それぞれローカルリポジトリで作業しながら、リモートリポジトリにプッシュとプルを繰り返しながらプロジェクトを進めていくイメージです。

リモートリポジトリをクローン
リモートリポジトリをクローン

データの衝突

ローカルでそれぞれ作業をした内容をリモートリポジトリにプッシュしていく流れになりますが、ここで疑問にることがあり、同じ行に別のコード内容が記述されていた場合はどうなるか?ということです。

先にプッシュ
先にプッシュ

ローカルリモートリポジトリからリモートリポジトリにプルからプッシュした際にマージコミットといわれるデータが作成されます。

後からプルする人からは、マージコミットのデータも一緒に取ってきてからプッシュする流れになります。

マージコミットもプル
マージコミットもプル

例えば、index.htmlの100行にリモートリポジトリに初めにプッシュした人のデータが<p>テスト</p>と入力されていて、そのデータを2人目の人がローカルリモートリポジトリのindex.htmlの100行に<h1>見出し</h1>と入力されている状態で、リモートリポジトリからプルした際に、100行に記述されている内容と違うということで、データの衝突コンフリクト(conflict)という状態になります。

コンフリクトが起きた後の対処法に関しては別の章で解説します。

次の章では、GitHubのサイト構成について理解しリモートリポジトリの作り方について解説します。

ローカルリポジトリからリモートリポジトリ作成
ローカルリモートリポジトリからリモートリポジトリを作成する方法【Gitバージョン管理システム】-STEP5前の記事では、ローカルリポジトリとリモートリポジトリについての解説をしました。この章では、複数人で作業できる環境作りとしてリモートリポジトリの作り方について解説していきたいと思います。...

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA