【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【格安】Webサイト セキュリティ自動診断「クイックスキャナー」

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【低コスト】Wasabi オブジェクトストレージ 構築・運用サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【予約システム開発】EDISONE カスタマイズ開発サービス

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【100URLの登録が0円】Webサイト監視サービス『Appmill』

【200ヶ国以上に対応】グローバル eSIM「beSIM(ビーシム)」

【200ヶ国以上に対応】グローバル eSIM「beSIM(ビーシム)」

【中国法人に対応】中国クラウド / サーバー構築・運用保守

【中国法人に対応】中国クラウド / サーバー構築・運用保守

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

【YouTube】ビヨンド公式チャンネル「びよまるチャンネル」

チーム開発必須!git clone, fetch, pullを解説

git

お疲れ様です!
システム開発部の山田です。

今回は、チーム開発で使うgitコマンドの中で、
使用頻度の高いgit clone, git fetch, git pullの違いについて解説していきます。

git clone

リポジトリのクローンを作成するコマンド。
他の人が作成したプロジェクトのリポジトリを、自分の環境に落とし込むことができる。

````````````````````````````````````````````````````````````````
$ git clone [クローン対象のリポジトリ] [ディレクトリ名(省略可)]
________________________________________________________________

git fetch

リモート追跡ブランチの更新を行うコマンド。
リモートリポジトリから最新情報をローカルリポジトリに持ってくる。

````````````````````````````````````````````````````````````````
$ git fetch [リポジトリ名(省略可)] [ブランチ名(省略可)]
________________________________________________________________

ただし、あくまでもリモート追跡ブランチを更新するものであるため、
現在の作業ブランチに更新内容が反映されるわけではない。

作業内容を反映させたいときは?

現在の作業ブランチに反映させたい場合はmergeを使用する。

````````````````````````````````````````````````````````````````
$ git merge [反映させたいブランチ名]
________________________________________________________________

git pull

上記で説明した`git fetch` を行った後に`git merge origin/main`を行う。

````````````````````````````````````````````````````````````````
$ git pull [リポジトリ名(省略可)] [ブランチ名(省略可)]
________________________________________________________________

各コマンドの使い分け

git clone
プロジェクトの開始時など、自分のローカル環境に何も無い状態の際に使用する。

git fetch

他の人が編集したブランチを取り込むなど、
リモート環境とローカル環境でコンフリクトが起こりそうな場合で、
merge前に確認を取りたい際に使用する。

git pull
main(master)ブランチのような、リモート環境で他ブランチからのプルリクエストのみで更新を行うブランチに対してよく使用する。
(ローカル環境とのコンフリクトが基本的には起こりえないため、差分確認などをする必要がないため。)

まとめ

今回は、チーム開発で使うgitコマンドの中で、使用頻度の高いgit clone, git fetch, git pullの違いについて解説いたしました。
このコマンドを使わずにチーム開発を行うことはまずないので、
今日初めて知った人は、完璧に理解することをお勧めします!

コマンド名 内容
git clone 既に存在するリポジトリのクローンを作成するコマンド
git fetch リモート追跡ブランチの更新を行うコマンド
git merge リモート追跡ブランチを含む、他ブランチの内容を現在のブランチに反映させるコマンド
git pull リモート追跡ブランチの更新を行い、作業ブランチなどに反映させるコマンド

最後に

私が所属するシステム開発のサービスサイト「SEKARAKU Lab(セカラク ラボ)」を開設しました。
ビヨンドは、サーバーの設計・構築から運用までをワンストップでお任せいただけますので、サーバーサイド開発でお困りの方はお気軽にお問い合わせください。
SEKARAKU Lab:https://sekarakulab.beyondjapan.com/

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
1
読み込み中...
1 票, 平均: 1.00 / 11
9,054
X facebook はてなブックマーク pocket
【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【2024.6.30 CentOS サポート終了】CentOS サーバー移行ソリューション

【2025.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2025.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

【大阪 / 横浜】インフラエンジニア・サーバーサイドエンジニア 積極採用中!

この記事をかいた人

About the author

山田雄貴

2021年株式会社ビヨンド入社
趣味はカラオケやボードゲーム
ボードゲームのが一つの棚で収まりきらなくなったため、新しい棚を購入したいが、家に棚を置く場所が無く悲しんでいる。
金型の設計や営業の経験もあり、多種多様な経験を積みサーバーサイドエンジニアの仕事に落ち着いている。
現在はPHPやPythonを用いたサーバーサイドの開発に従事している。
将来的にはフロントエンドの言語も習得したく、ReactベースのフロントエンドフレームワークであるNext.jsが気になっている。