【15周年記念 特設サイト】ビヨンドは「2022.4.4」で15周年を迎えました!

【15周年記念 特設サイト】ビヨンドは「2022.4.4」で15周年を迎えました!

【新卒 / キャリア採用】サーバー / クラウドエンジニア 募集中!【大阪】

【新卒 / キャリア採用】サーバー / クラウドエンジニア 募集中!【大阪】

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

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

【サーバー管理不要】WordPress専用クラウド『WebSpeed』

【サーバー管理不要】WordPress専用クラウド『WebSpeed』

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

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

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【コミュニケーションアプリ開発】LINE アプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【ECサイト構築】Shopify カスタムアプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【音声アプリ開発】Twilio アプリ開発サービス

【Webシステム / サービス開発】SAKARAKU Lab(セカラクラボ)

【Webシステム / サービス開発】SAKARAKU Lab(セカラクラボ)

【取材記事】サーバー系企業ビヨンドが サーバーサイドエンジニアを募集中

【取材記事】サーバー系企業ビヨンドが サーバーサイドエンジニアを募集中

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

【対談記事】「やっぱクラウド移設っていいですよね」マイネット × ビヨンド エンジニア対談

ビヨンド公式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/


この記事をかいた人

About the author

山田雄貴

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