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

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

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

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

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

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

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

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

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

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

【メッセージアプリ】LINE アプリ開発サービス

【メッセージアプリ】LINE アプリ開発サービス

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

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

ビヨンド公式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 リモート追跡ブランチの更新を行い、作業ブランチなどに反映させるコマンド

この記事をかいた人

About the author