albatrosary's blog

UI/UXとエンタープライズシステム

Windows で git(and github) を利用する

Windows で git 及び github を利用するための手順をまとめます。Windows で github を利用するためにはいくつかの手段がありますが、今回は msysgit を使うことにします。Windows で msysgit を利用する際、コメントなど日本語入力に問題がありますので運用として次のようにしていきたいと考えてます。

  • コミット時のコメントは簡単な英語で記載する(change hogehoge とか add hogehoge)
  • 詳細はチケットに記載する

この方針で行います。この方針のメリットは、チケットを必ず書く癖が付くということにつながると思います。英語をバリバリに書ければ話は変わりますが。

参考までに git のコメントに github のチケット番号を記載することで参照可能となります。

$ git commit -m "#1 added list.html index.html, and delete.html"

 

今回の手順は

  1. msysgit のインストール
  2. git bash の設定
  3. sshキー生成
  4. github へのsshキー登録

尚、既に github へのアカウント登録は済んでいるものとします。

 

git 概要

git は分散型バージョン管理ツールです。これに対し svn は集中型バージョン管理ツールです。git には3つの状態があます。概念としては

 

  f:id:albatrosary:20130708140618p:plain

  • Working Tree: git管理下でユーザが作業する場所(ディレクトリ)
  • index: スナップショットとしてのリポジトリ管理領域であるコミット前のステージング環境
  • Repository: 管理するファイルを蓄積するデータベース

 

msysgit のインストール

msysgit は http://msysgit.github.io/ からダウンロードします。大きく「Download」と書いてますので直ぐに分かると思います。

ダウンロード後インストーラーを実行します。途中設定等を聞いてきますので画面イメージを添付します。

 

f:id:albatrosary:20130606112103p:plain

 

f:id:albatrosary:20130606112119p:plain

 

f:id:albatrosary:20130606112126p:plain

 

f:id:albatrosary:20130606112135p:plain

 

f:id:albatrosary:20130606112146p:plain

 

f:id:albatrosary:20130606112159p:plain

 

f:id:albatrosary:20130606112205p:plain

 

f:id:albatrosary:20130606112214p:plain

 

f:id:albatrosary:20130606112219p:plain

 

これでインストール完了です。

 

git bashの設定

msysgit によりインストールされた git bash の設定を行います。これは ls で日本語を表示させるための手順です。

$ vi ~/.bashrc
alias ls='ls --show-control-chars'
$ git config --global core.quotepath off 

改行コードと空白文字の設定

Windowsの改行コードは「CRLF」で Unix系は「LF」です。同一のファイルに2種類の改行コードが混在すると問題になりますので「LF」に統一します。改行コードが「LF」以外の場合はコミット出来ないように下記設定を行います。

$ git config --global core.safecrlf true
$ git config --global core.autocrlf input

コミット時に不要な空白文字を削除するために下記設定も行います。

$ git config --global core.whitespace 'trailing-space, space-before-tab'
$ git config --global apply.whitespace fix

sshキー生成

sshを生成します。ここからは windows 限定ではありませんが記載します。

その前に git の設定をします。

$ git config --global user.name "githubに登録しているユーザ名"
$ git config --global user.email "githubに登録しているメールアドレス"

続きまして本命です。

$ ssh-keygen -t rsa -C "githubに登録しているメールアドレス"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Documents and Settings/albatrosary/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Documents and Settings/albatrosary/.ssh/id_rsa.
Your public key has been saved in /c/Documents and Settings/albatrosary/.ssh/id_rsa.pub.
The key fingerprint is:
eb:17:fc:4b:1b:74:d7:0e:7a:ac:a7:xx:xx:xx:xx:xx xxxxxxxxxxxxxxxxxxxxxxxx

鍵の生成が完了したら vi でid_rsa.pub を開きファイルの中身をまるまるコピーして github へ鍵をペースト(登録)します。

$ vi ~/.ssh/id_rsa.pub

 鍵の登録方法については https://help.github.com/articles/generating-ssh-keys の「Step 3: Add your SSH key to GitHub」をみると良いです。手順を写しておきます。

  1. Go to your Account Settings
  2. Click "SSH Keys" in the left sidebar
  3. Click "Add SSH key"
  4. Paste your key into the "Key" field
  5. Click "Add key"
  6. Confirm the action by entering your GitHub password

最後に稼動テストとして適当なリポジトリを github に作成し clone, add, commit, push などを使ってみてください。

 

最も初歩な確認方法

msysgit を起動し自身のgithubリポジトリにアクセスします。

$ git clone git@github.com/albatrosary/design
$ cd design
$ git add .
$ git commit -m "added files"
$ git push origin master

一度 git clone を実施した後は clone の手順は必要ありません。作業領域(例えば「C:\Documents and Settings\albatrosary\hoge」)にファイルを追加したら add から push を準じ行います。

設定ファイルの確認

.gitconfig ファイルを開いて内容を確認します。

$ vi ~/.gitconfig
[core]
        quotepath = off
        safecrlf = true
        autocrlf = input
[user]
        name = githubに登録しているユーザ名
        email = githubに登録しているメールアドレス
[apply]
        whitespace = fix

 

最後に

参考となったサイトを下記に示します。

http://foggi47.blog.fc2.com/blog-entry-7.html

http://msysgit.github.io/community.html

http://d.hatena.ne.jp/gsf_zero1/20121107/p1