Lesson 2

環境構築

Lesson 2 Chapter 1
Gitのインストール

Lesson1ではGitの概要やGitを使うメリットについて学んできました。Lesson2では実際にGitを使う準備をしていきましょう。 そこで、まず最初にGitのインストールから始めていきましょう。

WindowsでGitのインストール

Windowsをお使いの方は以下よりGit for Windowsへアクセスしてください。

Git for Windows

「Download」というボタンが表示されているので、こちらをクリックし、ファイルをダウンロードしてください。ダウンロードしたインストーラーを実行し、画面の指示に従いインストールを行なってください。

Gitのインストールが完了後、「Git Bash」というアプリがインストールされているはずですので、今後はこちらを使用してGitの操作が行えるようになります。

gitbash.png

インストール後、Git Bashを起動し、以下のコマンドを実行してください。

git --version

以下のようなGitのバージョン情報が表示されていればインストール完了です。

git version 2.37.1

macOSでGitのインストール

macOSをお使いの方は、Gitがデフォルトでインストールされているため、基本的にはインストール作業不要です。ここでは念の為、お使いのMacにGitが入っているかどうかを確認します。ターミナルを起動し、以下のコマンドを実行します。

git --version

このとき、もしすでにGitがインストールされている場合は、以下のようなGitのバージョンの情報が表示されます。

git version 2.37.1

もし、Gitがインストールがされていなかった場合は、以下のようなポップアップが出ていると思いますので、「インストール」をクリックして、「コマンドライン・デベロッパー・ツール」をインストールすることでGitがインストールされます。

xcode.png

インストール後、再度ターミナル上で以下のコマンドを実行し、Gitのバージョン情報が出ればインストール完了です。

git --version

Lesson 2 Chapter 2
リポジトリの作成

このチャプターでは、Gitリポジトリの説明およびリポジトリの作成をしていきます。

リポジトリとは?

そもそもリポジトリとはなんなのかについて学んでいきましょう。

リポジトリとは、ファイルやフォルダの変更履歴を記録・保存しておくための保管場所のことです。リポジトリ(repository)は英語で「貯蔵庫」「収納庫」という意味があります。

また、リポジトリには、「リモートリポジトリ」と「ローカルリポジトリ」という2種類のリポジトリがあります。

「リモートリポジトリ」とは、サーバー上にある保存先であり、基本的に1箇所に配置、管理されるリポジトリです。リモートリポジトリの配置先としてGitHubが多く利用されています。リモートリポジトリ(remote repository)のリモート(remote)は「遠い」、「遠隔」などの意味を持ちます。

「ローカルリポジトリ」とは、それぞれの開発者の手元のマシン上にある保存先のことです。ローカルリポジトリ(local repository)のローカル(local)は「地方」、「地元の」などの意味を持ちます。

repo.png

開発者は、サーバー上にあるリモートリポジトリからお手元のローカルリポジトリへソースコードやファイルをダウンロードし、ローカルリポジトリ内での作業が完了したのちに、その変更内容をリモートリポジトリへアップロードすることで、リモートリポジトリに対して自分が行なった作業内容を反映することができます。

これを複数の開発者が並行して行うことで、同時進行で様々な作業を進めることができ、効率の良い開発を行うことができます。

ちなみに、それぞれの開発者がローカルリポジトリを持つメリットとして以下のようなメリットがあります。

  • 自分の手元のマシン内で色々試すことができるため、他のメンバーへの影響を小さくすることができる

  • インターネット環境がなくても、編集作業が可能

また、画像のように専用のサーバーに1箇所リモートリポジトリが存在し、開発者それぞれが手元のマシンにローカルリポジトリを持つ形式を「分散型」といいます。Gitのように分散型の形式を持つバージョン管理システムのことを「分散型のバージョン管理システム」と呼びます。

バージョン管理システムの種類について

「分散型」以外にも、「集中型」の形式を持つ管理システムも存在します。「集中型バージョン管理システム」の例としては「Subversion」があります。

それでは、リポジトリについて理解ができたところで、早速リモートリポジトリ、ローカルリポジトリを作成していきましょう。

リモートリポジトリの作成

リモートリポジトリの作成をするために、今回はGitHubを利用します。

GitHubとは

GitHubは、世界的に有名なGitリポジトリのホスティングサービスです。また、GitHubは単にインターネット上にGitリポジトリを配置することができるだけではなく、「プルリクエスト」という機能を通じて複数人での開発ができたり、世界中の開発者とコラボレーションをしながら開発できるようなソーシャルコーディングの場としても重要なサービスとなっています。今日も世界中のチームがGitHub上で開発を行っており、多数のオープンソースプロジェクトがGitHub上に存在しています。

Gitリポジトリのホスティングサービスについて

GitHubの類似サービスとしては、GitLabや Bitbucket Bitbucketなどがあります。

GitHubの登録

まずは、GitHubにアカウントを登録する必要があります。(すでにアカウントを持っている方はここは読み飛ばしていただいて結構です。)

こちらよりGitHubの公式ページでアクセスし、画面右上から「Sign up」を選択し、メールアドレスやパスワード等の必要事項を入力し、新規登録手続きを進めていってください。

設定を進め、以下のような画面が表示されていればアカウント登録はOKです。

xcode.png

まず、画面右上の「+」マークから「New repository」をクリックします。以下の画面が表示されるので、

xcode.png

Repository nameの欄に設定したいリポジトリ名を入力します。試しにここでは「test-remote-repositry」と入力してみます。緑色のチェックマークが表示されると作成可能ですので、画面下部の「Create repository」ボタンをクリックしてください。

すると、以下のような画面が表示されます。これで、GitHub上でのリモートリポジトリの作成は完了です。

xcode.png

ローカルリポジトリの作成

前述したように、基本的には、サーバー上にあるリモートリポジトリをコピーし、手元のマシンにローカルリポジトリを作成するという流れになりますが、リモートリポジトリをダウンロードせずに0からローカルリポジトリを作成することももちろん可能です。こちらでは、ローカルリポジトリを0から作成する流れを説明します。まずは、Git bashもしくはターミナルを起動します。

続いて、以下のように適当なディレクトリを作成してください。

mkdir test-local-repositry

作成したtest-local-repositryディレクトリ内に移動し、

cd test-local-repositry

以下のコマンドを実行してください。

git init

「Initialized empty Git repository in ~」のような表示が出ればローカルリポジトリの作成完了です。この時、testフォルダ内に「.git」というディレクトリが作成されます。

ls -a

こちらのコマンドを実行し、「.git」が表示されていればOKです。

Lesson 2 Chapter 3
git clone

このチャプターでは、「git clone」について学んでいきます。

実際の開発現場に近い状況をイメージしていただきたきたいのですが、例えば、すでにGitHub上にリモートリポジトリが存在し、これから自分が開発メンバーの一人として開発作業へ着手し始める段階をイメージしてみてください。

この時、みなさんが開発作業を進めていくためには、自身の手元のマシンに開発するための材料を準備する必要があります。つまり、今回はGitリポジトリを準備する必要があります。そこで、最初にみなさんが行うこととして、

「リモートリポジトリの内容を手元のマシンへとダウンロード」

をする必要があります。そこで、利用するのがgit cloneコマンドです。

git cloneとは

git cloneとは、リモートリポジトリを手元のマシンにコピーするコマンドのことです。「clone」は英語で、あるものを複製する(コピーする)という意味です。git cloneをすることで、手元のマシンにリモートリポジトリと全く同じローカルリポジトリが出来上がります。

git cloneをするためには、すでにリモートリポジトリが存在していることが前提となります。そこで、前回のチャプターにてGitHub上で作成したばかりのリモートリポジトリ(test-remote-repositry)をローカルへとcloneしてみましょう。

git cloneコマンドは以下のように実行することができます。

git clone (指定のリモートリポジトリのURL)

まずは、GitHubへアクセスし、直前で作成したリポジトリのページを表示してください。添付画像のように、「Quick setup — if you’ve done this kind of thing before」と表示されている箇所の右手に見えるアイコン(赤枠箇所)をクリックし、リモートリポジトリのURLをコピーします。

url_copy.png

続いて、Git bashもしくはターミナルを起動し、リモートリポジトリのコピー先用のディレクトリを作成します。

mkdir test-remote-repositry

作成したtest-remote-repositryフォルダ内に移動し、

cd test-remote-repositry

git cloneまで入力した後、さきほどコピーしたリモートリポジトリのURLをペーストし、コマンドを実行します。

git clone https://github.com/(ご自身のGitHubアカウント名)/test-remote-repositry.git

コマンド実行後、添付画像のように、「Cloning into 'test-remote-repositry'...warning: You appear to have cloned an empty repository.」という出力がされます。

clone.png git cloneコマンドの実行結果

ワーニングの表示について

「warning: You appear to have cloned an empty repository. 」というワーニングが出力されますが、これは空のリポジトリをcloneした際に出る警告です。今回のリモートリポジトリはまだ1つもファイルが存在せず空の状態であるため、このワーニングが表示されていて問題はありません。

これで、リモートリポジトリを手元のマシンにコピーすることができました。確認のため、cloneしたばかりのtest-remote-repositryフォルダ内に移動します。

cd test-remote-repositry

続いて、こちらのコマンドを実行し、「.git」が存在していればOKです。

ls -a

ls-a.png .gitディレクトリの確認

.gitディレクトリについて

Gitに必要なファイルはすべてのこの「.git」ディレクトリの中に含まれていくことになります。

これで、GitHub上のリモートリポジトリである「https://github.com/(ご自身のGitHubアカウント名)/test-remote-repositry.git」の手元のマシンへのcloneが完了です。

Lesson 2 Chapter 4
git config(認証情報)

このチャプターでは、git config(認証情報) について学んでいきます。

前回のチャプターではgit cloneをすることでローカルリポジトリを作成するところまで進みましたが、これから具体的な作業に入っていく前にもう1つだけ設定をしていただきたいものがあります。それは「ユーザ名」と「メールアドレス」をGitに設定することです。

ユーザ名とメールアドレスをGitに設定する理由

この理由は、「Gitを使っている開発者(ユーザー)が誰かを明確にするため」です。言い換えると、実際の開発現場で共同開発を進めていく際に、誰がどのような変更を加えたか?という情報を知るためです。最初のGitのバージョン管理の際の説明でも言及しましたが、「誰が、いつ、どのファイルを、どのように変更を行なったか」を履歴として記録・管理することは非常に重要です。開発者ひとりひとりが「ユーザ名」と「メールアドレス」をきちんとGitに登録しておくことで、例えば、バグを含んでいるファイルを編集したユーザを特定し、そのユーザへメールで連絡することができるといったメリットが挙げられます。そのためにも「自分がこの編集を行なった」という履歴を周りに知らせることができるように、まずはご自身の情報をGitへ設定していきましょう。

git config(認証情報)

ユーザ名やメールアドレスのような"自分自身を証明するための認証情報"を設定するためにはgit configコマンドを使います。

git configコマンドを用いることで、Gitの設定情報(ユーザ名やメールアドレスなど)を確認、編集したりすることができます。

それでは、Git bashもしくはターミナルを起動してください。

ユーザ名の設定

まずは、ユーザ名をGitに設定します。ユーザ名を設定するためには、以下のコマンドを実行します。

git config --global user.name "(設定したいユーザ名)"

設定したいユーザ名のところには、GitHubアカウントのアカウント名を設定してください。今回は説明のため、便宜上「test username」と入力しコマンドを実行しています。

git config --global user.name "test username"

これでGitにユーザ名の登録が完了しました。問題なくユーザ名が設定されているかを確認するためには以下のようにコマンドを実行します。すると、さきほどご自身が設定したユーザ名が出力されます。

git config user.name

メールアドレスの設定

続いて、メールアドレスの設定をしていきましょう。メールアドレスの設定方法もユーザ名のときと同様に、以下のコマンドで設定が可能です。

git config --global user.email "(設定したいメールアドレス)"

設定したいメールアドレスのところには、実際に連絡のつくご自身のメールアドレスを設定していただければと思います。今回は便宜上「test@example.com」と入力しコマンドを実行しています。

git config --global user.email "test@example.com"

こちらも問題なく設定されているかを確認するために、以下のコマンドを実行します。

git config user.email

さきほど設定したメールアドレスがきちんと出力されていれば、メールアドレスの登録も完了です。

すべての設定内容の確認

Gitの設定内容を一気に確認したい場合は、以下のコマンドを実行してください。

git config --list

実行すると、ユーザ名やメールアドレスだけではなく、Gitに設定中の内容が一覧で表示されます。

さいごに

これでユーザ名およびメールアドレスをGitに設定することができました。ちなみに、以降このコマンドを使う機会はほぼないと思っていただいて良いかと思います。万が一、変更の必要性が出てきた際は、上記のコマンドを実行することで、現在の設定内容を上書き可能です。そのため、仮にメールアドレスが変更になった場合などに再度実行する機会が訪れる程度と把握していただければ良いかと思います。