チーム開発必須!git clone, fetch, pullを解説
お疲れ様です!
システム開発部の山田です。
今回は、チーム開発で使う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/