【Git入門】リポジトリの変更を共有するpushとpull

gitリモートリポジトリ
  • このエントリーをはてなブックマークに追加
  • Pocket

このページではgit pushとgit pullを用いて、リモートサーバへの変更の共有と変更点のローカルへの反映方法についてまとめている。

参考にしていただければ幸いだ。

そもそも、リポジトリの変更を共有するとは?

リポジトリの変更を共有するとは、ローカルのリポジトリの変更をGitサーバ上のリモート・リポジトリに記録し、リモート・リポジトリを介してその変更を共有することだ。

リポジトリの変更を共有する作業の流れは、ローカルから報告された変更をリモートに記録するところから始まる。

記録されたリモートの変更をローカルの別のリポジトリに反映させることもできるし、リモート・リポジトリをそのままクローンしてローカルに別のリポジトリを作成することもできる。

Gitを使った作業の流れは次の通りだ。

git push

  • 変更をgit pushでリモート・リポジトリに反映させる。
  • リモート・リポジトリをgit cloneでクローンする。
  • 変更をgit pushとgit pullで他のリポジトリに反映させる。

では、基本的なGitの使い方と流れを見てみよう。

変更をリモート・リポジトリに反映させる

変更を共有するためにローカルのリポジトリに記録された変更をリモート・リポジトリに反映させる。この時originがリモート・リポジトリの名前で、masterがローカルにあるリポジトリの名前になる。

git-push

このために使うコマンドは簡単だ。

git push origin master

コマンドの実行の仕方を確認していこう。

使い方と流れ

ローカルにあるリポジトリのディレクトリに移動する。変更をリモート・リポジトリに反映させるためにgit pushコマンド実行する。

git-work

実行結果

リモート・リポジトリがあるディレクトリに移動して、git logコマンドを実行する。リモート・リポジトリにローカルのリポジトリの変更が反映されたことが確認できる。

リモート・リポジトリをクローンする

ローカルにリポジトリを作成するためにリモート・リポジトリをクローンすることもできる。クローンするとリモート・リポジトリのコピーが作成される。

git clone

このために使うコマンドの基本は簡単だ。

git clone [リモート・リポジトリ]

ここで、リモート・リポジトリをどのように指定するかだが、「リモート・リポジトリを作成する」のセクションで共有設定を行ったときに出てきた「ネットワーク・パス」を指定する。

コマンドの実行の仕方を確認していこう。

使い方と流れ

リポジトリをクローンするディレクト:/c/gitworkcloneを作成する。そのディレクトに移動して、git cloneコマンドを実行する。

git-clone2

実行結果

リポジトリのディレクトリに移動して、git logコマンドを実行するとリポジトリが作成されていることが確認できる。

 git sample

さらに、lsコマンドでディレクトリ内のファイルを書くにしてみると、Program01.javaファイルがあるのが確認できる。

ls

変更を他のリポジトリに反映させる

最初に説明したように、変更を共有するためにgit pushを使ってローカルのリポジトリに記録された変更をリモート・リポジトリに反映させることが必要だ。そして、リモート・リポジトリに反映された変更をローカルの別のリポジトリに反映させる。

git pull

このために使うコマンドの基本がpullだ。

git pull

コマンドの実行の仕方を確認していこう。

使い方と流れ

前のセクションでクローンして作成したリポジトリのディレクトリにあるProgram01.javaファイルを変更して、その変更が別のリポジトリに反映されるか確かめてみよう。

クローンで作成したディレクトリに移動して、現在のProgram01.javaのコードを見る。

programmer

Program01.javaのコードをエディタで「System.out.println("Function-01");」を追加し、コードが修正されたことを確認する。

result

変更をgit addとgit commitコマンドによりリポジトリに記録する。

git-add

次にgit pushコマンドで変更をリモート・リポジトリに反映させる。

push

他のリポジトリのディレクトリに移動する。リモート・リポジトリの変更をgit pullコマンドでローカルのリポジトリに反映させる。

origin-master

実行結果

変更の記録を見るためにgit logコマンドを実行すると、別のリポジトリのProgram01.javaの変更が反映されていることが分かる。

git-log

さらに、Program01.javaのコードを確認すると確かに「System.out.println("Function-01");」が追加されている。

java

まとめ

このページではリモートサーバへ変更を共有するgit pushおよび反対にローカルへ反映するgit pullについてまとめてみた。

gitの使い方の基本となるので、ぜひ参考にしていただければと思う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できる。

短期間でエンジニアになる方法

・「まったくの初心者だけどエンジニアになりたい!」

・「プログラマーとして転職をしたい!」

という方はリナックスアカデミーの資料を見てみてください。短期間で未経験からエンジニアになることができるスクールとして15年間選ばれ続けてきた理由やノウハウが載った資料です。

エンジニアの入り口に立つために必要な勉強技術の最新動向本当に使えるIT資格学習に役立つ国からの奨励金などの情報が詰まっています。

無料で2,3日中にお手元にお届けします。


資料を見てみる

SNSでもご購読できます。

コメントを残す

*

新入社員エンジニアへの配布用!
自走するエンジニアの心得 小冊子

エンジニア新入社員への教育用小冊子を期間限定配布中です

無料ダウンロードはこちらから ご自身の学習に役立てたい方はこちら