Gitってなんか難しそう
かつての自分もそうでしたが、用語がわかれば解説書を読み進めていても理解が進み、何より楽しくなります。
この記事では、そんなGitの用語について解説していきます。
Gitって何?
Gitは、バージョン管理システムです。
Gitを使うことで、以下のメリットの中で運用しながら効率的に開発を進めることができます。
- いつでも好きな時点にファイルの状態を戻せる
- 複数人での修正内容をまとめることができる
- 変更内容を細かく記録できる
- 誰が・いつに基づいた変更履歴を一目瞭然にできる
- 変更毎のバックアップを取ることができる
エンジニア・デザイナー・ディレクターみんなが同じツールを使うことで、効率的なコミュニケーションを取ることができ、みんながフラットな感じで意見交換・意思決定できます。
これに加えて、履歴が全て観れるので新しくプロジェクトに参加した人でもすぐにプロジェクトに入っていけるのがメリットです。
Gitの各用語解説
ここからがGitの用語解説です。ここで紹介する用語は、頻出する用語を中心に解説していきます。
それでは順に見ていきましょう。
リポジトリ
リポジトリとは、過去の状態を記録・格納されている場所です。
リポジトリには、後述するコミット・ブランチ等のバージョン管理に関する情報と、ファイルそのもの自体が格納されています。

主なリポジトリは、「リモートリポジトリ」「ローカルリポジトリ」の2種類です。
リモートリポジトリは、サーバー上にあるリポジトリを指します。

リモートリポジトリを使用することで、自分以外の人もサーバー上のファイルにアクセスできる為、連携しやすくなります。
ローカルリポジトリは、手元にあるパソコン内のリポジトリを指します。

ローカルリポジトリは、リモートリポジトリをコピーして作られることがほとんどです。
コミット
コミットとは、変更を記録することを指します。

コミットでは「どのファイルのどの部分を変更した」と、「いつ・誰が・コメント」の2つを記録しています。
コミットすることで、「バージョン」が追加されます。
チェックアウト
チェックアウトとは、指定のコミットに切り替えて、その時点と同じ状態にすることを指します。

ブランチ
ブランチとは、作業を切り分ける時に使うものです。

直訳すると「枝」のように、2人で同時並行しながら作業するときに便利です。
クローン
クローンとは、リモートリポジトリを取得してローカルリポジトリにコピーすることを指します。

まさに言葉のままですが「指定したリモートレポジトリをローカルに丸ごとコピー」がクローンで、ダウンロードに近いイメージです。
マージ
マージとは、元のブランチに統合させて、コミットの整合性をとることを指します。

問題がなければそのまま通り、不備がある場合にはコンフリクト(矛盾点)を教えてくれます。
プッシュ
プッシュとは、ローカルリポジトリの情報をリモートリポジトリに反映することを指します。

プッシュ(押す)の言葉の通り、アップロードに近いイメージです。
プル
プルとは、リモートリポジトリの情報をローカルリポジトリに反映することを指します。

クローンとプルは、ファイルを実行した環境にコピーするという点は同じ役割です。
が、クローンは「指定したリモートレポジトリをローカルに丸ごとコピー」しますが、プルは「ローカル側とリモート側で、差異がある(更新された)ファイルを全てコピーする」で、コピーするファイルの状態に違いがあるのがこの2種類です。
プルリクエスト(プルリク)
プロリクエストとは、自分が行った変更を取り込んでもらうようリクエストすることを指します。プルリクと略することが多いです。
プルリクエストを使うことで、変更したコードを他のメンバーがチェックして、OKが出たコードだけがマージされます。こうすることで、品質の高いコードを保つことができます。
さいごに
Gitは、簡単なツールとは言えず、理解するまでにはそれなりに時間がかかると思います。
かくゆう自分も苦労しましたが、用語の意味とイメージを掴んでから学習を進めていくことで一気に理解が進んだので、まずは「用語を理解する」ことから始めるのがおすすめの方法です。
そして、この記事が理解のきっかけになったら嬉しいです。
そして、実際の操作方法については、世の中に素晴らしい解説サイトが多々あるので、是非色々調べてGitを使いこなしてみてください。
この記事では、以下の記事を参考にさせて頂きました。
より学びたい方は以下の記事がわかりやすくオススメなので、興味がある方は是非ご覧なってみてください。