Git導入〜各種設定

ここでは、初めてSetucoCMSプロジェクトの開発に参加する人が行うべき、Gitのインストールと設定をまとめています。


Gitの導入と初期設定

参考:初心者Git日記その二~クライアントにインストール~

インストール

  • Windows
    1. Cygwinのサイトから最新版をダウンロードしインストール。
    2. パッケージ選択画面でssh、gitを選択。その他好みでvimなど好きなエディタを。
  • Linux
    • Debian系(Ubuntu, Debian)
      $ sudo apt-get install git-core
      
    • Fedora
      $ sudo yum install git
      
  • Mac OS X

事前にMacPortsがインストールされていること

$ sudo port install git-core

初期設定

参考:初心者Git日記その六~PCでGit初期設定とGitHubへのpush~

  • 名前を設定
    $ git config --global user.name '自分の名前'
    
  • メールアドレスを設定
    $ git config --global user.email '自分のメールアドレス'
    

Gitコマンドを便利に使うための設定

ログの色分けやエディタの指定

  • ログやステータス表示時に色分けする
    $ git config --global color.ui auto
    
  • コミット時に起動するエディタにVimを使う
    $ git config --global core.editor vim
    
  • コミット時に起動するエディタに、C:\Program Files\sakura\にインストールされたサクラエディタを使う(Windows(Cygwin)限定)
    # 注意)メッセージの保存時、UTF8で保存すること
    $ git config --global core.editor '/cygdrive/c/Program\ Files/sakura/sakura.exe'
    

エイリアス(コマンドのショートカット)の登録

長いオプション付きのコマンドなどに別名をつけて短い名前で使うことができる。
例えば次の場合は、'×××××××××××'という長いgitコマンドに●●という好きな別名をつけ、それ以降は「$ git ●●」でそのコマンドを実行できるようになる。

$ git config --global alias.●● '×××××××××××'
以下、おすすめのエイリアス設定。

  • git st ⇒ git status(git st で git status を実行できるようにする)
    $ git config --global alias.st 'status'
    
  • git co ⇒ git checkout
    $ git config --global alias.co 'checkout'
    
  • git br ⇒ git branch
    $ git config --global alias.br 'branch'
    
  • git ls ⇒ git ls-files
    $ git config --global alias.ls 'ls-files'
    
  • git vlog ⇒ git log --pretty=format:'%C(red)%h%Creset %C(cyan)<%an>%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative
  • 「git vlog」で、ログを見やすく整形して表示できる
    $ git config --global alias.vlog 'log --pretty=format:"%C(red)%h%Creset %C(cyan)<%an>%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset" --abbrev-commit --date=relative'
    
  • git glog ⇒ git log --pretty=format:'%C(red)%h%Creset %C(cyan)<%an>%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset' --abbrev-commit --date=relative --graph
  • 「git glog」で、コミット家系図(グラフ)付きでログを見やすく表示できる
    $ git config --global alias.glog 'log --pretty=format:"%C(red)%h%Creset %C(cyan)<%an>%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr)%Creset" --abbrev-commit --date=relative --graph'
    

無視するファイルを設定

.swp、.lock、.tmpファイルなどをGitで追跡しないようにする。 1. ホームディレクトリに.gitignoreファイルを作成($HOME/.gitignore) 2. 作成した.gitignoreの中身を以下のように編集 (他にも、自分の環境で発生するゴミファイルがあれば拡張子などを記述する)

*.swp
*.lock
*.tmp
3. Gitが$HOME/.gitignoreファイルを見に行くように設定
$ git config --global core.excludesfile "$HOME"/.gitignore


GitHubの準備

アカウント登録

SSH公開鍵の登録

$ ssh-keygen
(必要ならパスフレーズを入力)
$ cat ~/.ssh/id_rsa.pub

表示された内容をGitHubに登録。

Collaboratorの設定(SetucoCMSコミッターonly)

  • メーリングリスト(SetucoCMS-private)で現コミッターに対応を依頼する