GitHub入門にピッタリ!MacでもできるGitの基本的な使い方とは?
2017年5月19日

開発の現場に欠かせないツール、GitHub。チームで開発する際はもちろん、個人でソフトウェアを作る行う際にも便利で、多くの現場で名前を聞くようになりました。
このGitHubは、実はプログラマーやSEだけではなく、Webデザイナーにとっても便利なツールであることはご存知でしょうか。GitHubでバージョン管理して、スムーズで快適な開発を行いましょう。
バージョン管理システムとは
まず、GitHubについて知る前に、「バージョン管理システム」という言葉を覚えておく必要があります。
プログラミングの際、「誰がいつ、どのファイルのどの部分を修正したのか」などといった、ソースコードの更新や修正を記録し管理できるシステムのことを、「バージョン管理システム」といいます。バージョン管理は複数人で開発をする際に欠かせませんが、個人での開発の際も、一度修正した内容を元に戻したり、過去の履歴を参照することができて便利です。
GitとGitHub
近年、バージョン管理システムの主流となってきたのが、「Git(ギット)」です。
Gitは、分散型バージョン管理システムに分類されています。
それまで開発現場で使われてきた集中型バージョン管理システム(CVSやSubversion)は、複数人数が共有するリポジトリ(バージョン管理をするファイル)に修正内容を反映するものでした。
そのため、気をつけないと、開発中の不完全なソースコードが共有されてしまう恐れがありました。
これに対し、分散型のGitはそれぞれの開発者が自分のPC上で、同じ情報を持ったリポジトリを持つことができ、ローカルで作業をすることができます。
こうすることで、ローカルで行った修正内容を、任意のタイミングで共有リポジトリに反映できるようになりました。
そして、Gitを用いたソフトウェア開発プロジェクトのためのWebサービスとして生まれたのが、「GitHub(ギットハブ)」です。GitHub社によって運営されており、個人・企業問わず無料で利用することができます。
Gitはシステム、GithubはGitを使ったサービスのことですので、混同しないようにしましょう。
GitHubを使ってみよう
GitやGitHubを使うためには、まずローカル環境でのGitを構築する必要があります。
Windowsの場合
「Git for Windows」のサイトで、「Download」をクリックし、インストールします。
Macの場合
Mac OS XにはあらかじめGitがインストールされています。 より新しいバージョンのGitを使いたい場合は、前述の公式サイトからインストーラーをダウンロードして行う方法と、Mac OS X用のパッケージ管理システム 「Homebrew」を利用して行う方法があります。
コマンドライン環境の準備
(1)Windowsの場合、Gitコマンド付属のGit Bashを開きます。Macの場合はターミナルを開きます。
(2)コマンドライン環境で「git --version」と入力します。以下のように、Gitのバージョンが表示されることを確認しましょう。
$ git --version git version 2.10.1 (Apple Git-78)
(3)続いて、「ユーザー名」と「ユーザーのメールアドレス」を設定します。この設定を行わないとうまく動作しない場合があるようです。以下のコマンドで「ユーザー名」と「メールアドレス」の部分を自分の情報に変更し、実行すると設定完了です。
$ git config --global user.name "「ユーザー名」" $ git config --global user.email 「メールアドレス」
以下のコマンドで設定内容を確認できます。
$ git config --list user.name=「ユーザー名」 user.email=「メールアドレス」 ...
SSHの鍵を取得する
リモートのリポジトリと接続するため、SSHの鍵を用意します。
鍵の生成については、GitHubのヘルプでも説明されています。
(1)Windowsの場合はGit Bash、Macの場合はターミナルを開きます。
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
-tオプションでは、鍵のタイプを指定しています。
-bオプションで、鍵の長さを指定します。鍵が短いと安全性が確保できないので、長めの鍵を設定しましよう。
-Cオプションで、鍵にコメントを付加できます。つけなくても問題ありませんが、複数の鍵を管理する場合は、コメントをつけた方がわかりやすくなります。
(2)上記のコマンドを入力すると、生成される鍵のファイル名と出力場所を確認するメッセージが出ます。ファイル名と出力場所がそのままで良ければ、Enterを押してください。
(3)このままでも鍵は生成できますが、安全性向上のため、以下のコマンドでパスフレーズを指定しましょう。
Enter passphrase (empty for no passphrase): 「パスフレーズを入力します。※画面には表示されません」 Enter same passphrase again: 「パスフレーズを入力します。※画面には表示されません」
パスフレーズの再入力が完了すると、秘密鍵(id_rsa_github)と公開鍵(id_rsa_github.pub)のペアが生成されます。 公開鍵はGitHubなど、SSHでやりとりするサービスに登録します。SSH通信をする際には、登録済みの公開鍵と秘密鍵とが照合され、認証に成功します。そのため、秘密鍵は他人に見られないように慎重に保管してください。
(4)生成された秘密鍵のパーミッションを600に変更しておきます。
$ chmod 600 ~/.ssh/id_rsa_github
「-rw-------」になっていれば、正しいパーミッションに変更されています。
$ ls -la ~/.ssh/id_rsa_github -rw------- 1 hoge staff **** 1 1 00:00 /Users/hoge/.ssh/id_rsa_github
(5)最後に、GitHubへSSH接続する際に、どの秘密鍵を指定するのかを管理するため、SSHのconfigファイルを編集しておきます。
ファイルが存在しない場合は新規作成し、すでにあれば以下の設定を追記します。
$ vim ~/.ssh/config Host github HostName github.com User git IdentityFile ~/.ssh/id_rsa_github
このように設定しておくと、ssh githubと入力するだけで、ここで指定したホスト名、ユーザー名、秘密鍵が自動で指定されます。
まとめ
これで、GitとGitHubを使うための基本的な準備はできました。 あとはGitHubにアカウントを作成し、必要な設定を済ませることでサービスが利用できるようになります。
GitやGitHubはソフトウェアの開発にとどまらず、書籍の原稿やWebデザイナーのテンプレートの管理にも使える便利なツールです。 上手に使って、効率的で安全なバージョン管理を行いましょう。
本ブログは、日本初Web専門スクールのインターネット・アカデミーの講師が運営するWebメディアです。 スクールの情報はもちろん、最新のWebデザイン・プログラミング・Webマーケティングについて役立つ情報をご紹介しています。