Corredor

ウェブ、プログラミングの勉強メモ。

Git と GitHub を始める:Git のインストールと GitHub の登録まで

書籍「GitHub 実践入門」を読みながら、Git のインストールと GitHub の登録をした。環境は Windows7。

Git For Windows (msysGit) のインストール

まずは Git を使えるようにするため、Git For Windows をインストールする。Git For Windows は別名 msysGit、GitBash などとも呼ばれており、Git For Windows をインストールすると、Windows 上で Linux 系のコマンドが実行できるようになる CUI ツール群が合わせてインストールされる。この辺は msys や Cygwin など、別に勉強していくつもり。

ということで Git のインストール。Git for Windows よりインストーラをダウンロードし、インストーラを起動する。

インストール時の設定は結局何も変えずに進めた。

  • コンポーネントの選択で、「Use a True Type font~」の設定は Off のままにする。On にするとコンソールで日本語が文字化けするらしい。
  • 環境変数の設定では「Use Git Bash only」のまま。環境変数は変更しないようにするのと、Windows のコマンドが上書きされるのは避ける。
  • 書籍には出てこないウィザード「Choosing the SSH executable」は、「Use OpenSSH」のまま。GitHub も SSH 通信を推奨しているらしいので。
  • 改行コードの変換は、「Checkout Windows-style, commit Unix-style line endings」のままにすると、改行コードがチェックアウトに CRLF、コミット時は LF に変換される。
    最初はそれを選んでいたのだが、あとで思い直し、改行コードを変換しない「Checkout as-is, commit as-is」にしようと思い、設定で直した (後述)。

Git の初期設定

Git はコマンドラインで操作するのが基本。GUI アプリもインストールされるけど、お勉強のためにコマンドラインから操作してみる。

「Git Bash」を起動し、以下のコマンドでユーザ情報を登録する。ユーザ名は英字。

$ git config --global user.name "(ユーザ名)"
$ git config --global user.email "(メールアドレス)"

コマンドで登録したユーザ情報は ~/.gitconfig、大抵の Windows 環境では C:\Users\(ユーザ名)\.gitconfig という場所に生成される設定ファイルに出力される。

次に、コマンド出力をカラフルにして読みやすくするコマンドを入れておく。

$ git config --global color.ui auto

インストール時に改行コードを自動変換させる設定にしていたが、どうも改行コード変換はしない方が色々と良さそうだったので、以下のようなコマンドを入れて設定変更する。

$ git config --global core.autoCRLF false

これらの設定情報も同じく .gitconfig に出力されている。

ちなみに自分は、Git Bash のターミナルのフォントを「MeiryoKe_Gothic」に変更している。これなら日本語表示も綺麗 (デフォルトだとなんか日本語だけちっちゃくなっちゃう)。

GitHub の登録

How people build software · GitHub より、GitHub アカウントを登録する。

アカウントが登録できると、https://github.com/Neos21GitHub このようなユーザの URL が作成される。

SSH Key の設定

ローカルマシンの Git リポジトリから、GitHub のリポジトリへアクセスするための SSH 認証の設定をする。

SSH 認証は、GitHub に公開鍵を登録し、ローカルにはそれに対応する秘密鍵を持っておくことで、パスワードの入力なしに Pull 等の操作ができるというもの。

Git Bash より、以下のコマンドで SSH 認証用のキーを生成する。

$ ssh-keygen -t rsa -c "(メールアドレス)"

すると、Enter passphrase、パスフレーズを決めてくれ、と聞かれるので、適当なパスワードを考えて入力する。2回聞かれるのでもう一度同じパスフレーズを打てば完了。

ここまで入力すると、何やらフィンガープリントの情報などがターミナルに表示されて、C:\Users\(ユーザ名)\.ssh\ に公開鍵と秘密鍵のファイルができている。Git Bash より以下のコマンドで確認する (フォルダ移動してファイル一覧を出してるだけ)。

$ cd ~/.ssh
$ ls

id_rsa.pub というファイルが公開鍵で、id_rsa というファイルが秘密鍵。

GitHub に公開鍵を登録する

以下のようにして公開鍵の内容を参照し、この内容を GitHub にコピペして登録する。

$ cat ~/.ssh/id_rsa.pub

GitHub の Settings より SSH Keys のページに飛び、「Add SSH Key」から、上記コマンドで確認した公開鍵の内容をコピペする。

正しく登録できていれば、GitHub に登録したメール宛に、以下のようなメールが来る。

The following SSH key was added to your account: (ユーザ名)’s SSH Key
(00:00:ff:00:00:00 みたいな英数字の羅列)

ここまでできたら、手元の秘密鍵を使って GitHub の認証が通るようになっているはずなので、以下のコマンドで動作確認する。

$ ssh -t git@github.com

途中で何か聞かれたら yes と入力し、パスフレーズを聞かれたら入力する。

Hi (ユーザ名)! You’ve successfully authenticated, but GitHub does not provide shell access.

こんなメッセージが出たら OK。

これで Git の環境と GitHub のアカウントの紐付が完了。GitHub 上の自分のリポジトリと、ローカルの Git リポジトリを同期させるための準備ができた。

参考

ここまでで紹介していない参考ページを置いておく。Git や GitHub の初期設定に関する情報は山ほどあるので、いくつか並べて見て、自分の環境や使い方にあった設定にしよう。