Mac OSX El Capitan で GitHub と同期して Git を使うまで

タイトルのとおり。既に Windows 7 環境でやったことはあるので、今回は Mac での手順が変わってる部分とか、既にアカウントがある状態で2台目以降のマシンで設定するときの注意点とかを押さえておく。

Git のインストール

Windows では Git For Windows というソフトをダウンロードしてインストールしたが、Mac では Homebrew よりサクッとインストールできる。

# ターミナルからこれだけでインストール可能
$ brew install git

$ git --version
git version 2.8.3

# Global オプションでユーザ情報や設定しておきたい情報を入れておく
$ git config --global user.name 'Neo'
$ git config --global user.email 'neo@xxx.com'
$ git config --global color.ui auto

# 設定されている内容を確認する
$ git config -l

設定情報は /Users/【User】/.gitconfig ファイルに保存されている。ユーザ名などを入れておかないと、Mac のマシンのユーザ名がコミット者として表示されてしまうらしく、下手すると本名がダダ漏れする可能性があるので、Global 設定をお忘れなきよう。

GitHub をインストール

GitHub のリポジトリを GUI で管理できるモノ。

よりダウンロード、インストール。設定には特に迷うことなく。

SSH Key の登録

GitHub に Push するためには、 GitHub に SSH Key を登録する必要がある。Windows 版でもやっていたが、また新たに作ることにした。

手順は Windows の時と同じく、ターミナルで ssh-keygen コマンドを使って作る。

$ ssh-keygen -t rsa -C "neo@xxx.com"

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/【ユーザ名】/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): # パスフレーズを入力する
Enter same passphrase again: # 再入力
Your identification has been saved in /Users/【ユーザ名】/.ssh/id_rsa.
Your public key has been saved in /Users/【ユーザ名】/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:JX/… neo@xxx.com
The key's randomart image is:
+---[RSA 2048]----+
(省略)
+----[SHA256]-----+

# 生成したキーを表示する
$ cd ~/.ssh
$ cat id_rsa.pub

ssh-rsa AAAA… (省略)

最後に表示させた ssh-rsa からの文字列をコピーし、以下のリンクから飛べる GitHub の設定画面で登録する。

SSH Key が GitHub に正しく登録できているか、接続テストをする。

# このコマンドをそのまま打つ
$ ssh -T git@github.com

Warning: Permanently added the RSA host key for IP address '192.0.0.0' to the list of known hosts.

Hi Neos21! You've successfully authenticated, but GitHub does not provide shell access.

Hi Neos21! と、GitHub のユーザ名が表示されたので OK。

完了。

ここまでで設定は完了。

リポジトリを作って Commit・Push してみる

試しに、以前の記事で作った npm ライブラリのお試し状況を公開するリポジトリを作ってみた。

GitHub のサイト上でリポジトリ「NodeJsTest」を作った (現在はリポジトリ名を変更)。

# 適当なフォルダに移動してリポジトリをローカルにコピーする。パスワード入力を省略するためアドレスを書き換えておく
$ git clone https://【ユーザ名】:【パスワード】@github.com/Neos21/NodeJsTest.git

# 適当なファイルを追加しておき、add したら status で状態を確認する。
$ git add .
$ git status

# add している状態がよさげなら commit してしまう。commit 状況は log で確認。
$ git commit -m "First Commit."
$ git log

# commit 状況がよさげなら GitHub にアップ (= push) する。
$ git push

git clone したあと npm init をすると、package.json にリポジトリの URL が書かれる (= 上のような URL 指定をしているとパスワードがバレてしまう) ので、必要があれば訂正しておくこと。