ログイン

Git入門コース(初心者向け)バージョン管理を学ぼう

Gitは開発者が多い環境で、同時並行で進めていく場合に非常に役立ちます。これまでのバージョン管理システムはリポジトリ(ファイルをためておく場所)が全体で1つしかなかった為、開発者が増えたときなどに同時に開発を進めるには不便でした。Gitが登場してからは複数人で開発を進める企業で次々に採用され、今では複数人開発をする企業では必須ツールといっても過言ではありません。

Gitとは

Gitとは、分散型のバージョン管理システムです。分散型というのは、複数のコンピュータなどに分散して機能を持たせることを言います。Gitでは、開発者それぞれのパソコンに全ての変更履歴を含む完全なフォルダを複製(クローン)し開発者それぞれが自由に変更を加えても衝突せずに更新していくことができます。このような点から分散型バージョン管理システムと名付けられています。対義語として集中型バージョン型システムというものもあり、代表的なものだと「SVN」や「CVS」などがあります。

Gitの特徴

Gitの特徴は、前述した通り分散型バージョン管理システムであるという点、またCUI仕様であるということです。CUIとは、コンピュータの文字だけでやりとりを行なうユーザーインターフェースのことを意味します。CLIとも言われますが意味は同じです。CUIは、アイコンやボタンなどをマウスでクリックして操作するGUIと対義語として使われています。Macであればターミナル、WindowsであればコマンドプロンプトがCUIに該当します。

GitとGitHubの違い

よく混在されてしまう似た言葉として、GitHubというものがあります。GitHubはGitの仕組みを利用してソースコードを共有・管理出来るWebサービスのことです。GitとGitHubの違いはGitは「ファイルの更新履歴を記録する仕組み」でGitHubは「Gitの仕組みを使って開発者を支援するWebサービス」と覚えておきましょう。GitHubを利用することでクラウド上でGitを用いたバージョン管理を行なうことができます。さらに、ソースコードを変更したい部分について、プルリクエストというものを送って他の人にレビュー依頼を行なえたり、プロジェクトの進行や課題の管理を行ないながら、共有することもできます。GitHubには無料版と有料版がありますが、無料版で十分な機能を無制限で利用することができます。

Gitの開発環境を整えよう

実際にGitを使い始めるには、Gitのインストールと初期設定、必要に応じてクライアントツールを用意します。それぞれOSによってインストール画面や設定画面が異なるので、注意してください。Gitにおけるクライアントツールとは主に、GUIで操作できるものでCUIのコマンドを叩かなくてもGitを管理することができるツールのことを指します。

Gitをインストールしよう

Gitを使い始めるにはまずインストールが必要です。Gitの公式サイトからインストールを行ないましょう。使用するOSによってインストール画面が異なりますので、注意してください。なお、ここでは具体的な説明は行わないのでインストールで迷った際は都度調べながら進めていきましょう。

Mac用ダウンロード
Windows用ダウンロード

Gitの初期設定

Gitの初期設定では、ユーザー名やメールアドレスを登録していきます。こちらもOSによって設定画面がことなります。Macの場合はターミナルから、Windowsの場合は「Git Bash」というものを使って設定していきます。

Git公式参考ページ

Gitの基本用語

Gitの仕組みはやや複雑なので、理解するのに少し時間がかかってしまいます。専門用語もたくさん登場するので、あらかじめ最低限覚えておいた方がいい用語を確認しておきましょう。以下まとめて解説していきます。

リポジトリ(repository)

リポジトリとは、Git内でファイルやディレクトリを貯めていく貯蔵庫のようなものです。Gitにはローカルリポジトリとリモートリポジトリの2種類があります。ローカルリポジトリは自分のPC上に作られるリポジトリで、リモートリポジトリはネットワーク上に存在する共有用のリポジトリです。ワークツリー(Gitの管理下にあるディレクトリ)で編集した内容をローカルリポジトリに貯めていき、作業が一段落したらリモートリポジトリにアップロードするのが基本的な流れとなります。

コミット(commit)

コミットとは、ワークツリーで変更した内容をローカルリポジトリに反映させる作業のことをいいます。コミットをする際には、コミットメッセージというものを残すことができます。基本的には必須で書いていく部分で、変更点の要約、変更理由等を記述します。コミットはGUIの場合、1クリックで実行可能ですが、実はコミットをする前にアド(add)という処理がなされています。多くのGUIでは、アドとコミットがセットになって実行される仕様になっています。設定を操作してアドを視覚化することもできます。CUIで操作する場合は必ずコミットをする前にアドが必要になります。一度アドされているファイルであれば2回目からは省略できます。

アド(add)とインデックス(index)

ワークツリーで変更した内容をローカルリポジトリに反映させる為には、まずアドという処理を行ないます。アドとは、変更内容をインデックスという場所に一時的に保存する処理のことです。インデックスとは、ステージングとも呼ばれており、アドされたファイルを一時的に保管する場所のことです。つまり、ワークツリーでファイルを変更したらアドを行ないステージングに保存、その後コミットを行なうことでステージングからローカルリポジトリに保存される流れとなります。

プル(pull)

プルとは、リモートリポジトリの内容をローカルリポジトリに反映させる処理のことです。プッシュがアップロードとするならば、プルはダウンロードのようなものです。チームで開発を行なっていると、リモートリポジトリの内容は都度更新されていきます。その更新された内容部分だけをダウンロードするのがプルです。よく似た言葉にクローンがありますが、クローンはリモートリポジトリにある全てのファイルをダウンロードするので、間違えないように覚えておきましょう。

手裏剣の画像

Git入門コース(6問)

まとめ

ここでは、分散型バージョン管理システムのGitについて解説をしました。Gitをうまく使いこなせるようになれば、リスクを回避しつつ効率的な開発を行なうことができます。そのためにはまずGitの仕組みを理解しておく必要があります。無料問題集を通して実践的に使いこなせるようになりましょう。

Git以外のプログラミング言語を学ぶ

Gitを学ぶなら現役エンジニア監修「甲賀コース」
キャンペーン

閉じる