2011年9月11日日曜日

.gitconfig の中身

.gitconfig の中身を少し見直したので公開してみます。
主に参考にさせていただいたサイトは最下部に一覧として載せておきます。

マージのツールについては、Git Pro のこちらのページを参照のこと。
P4Mergeというツールの紹介があります。
http://progit.org/book/ja/ch7-1.html

hist と hists の違いは変更があったファイルも表示させるかどうかの違いしかないです。
好みに応じて、-10 などを追加し、表示される log を制限してもよいかもしれません。
※仮に設定してしまっても、実行時に上書きできるので特に不便はないと思います。

.gitconfig


[core]
    # Windows, Linux, Mac の間で改行コードを変換してくれる。
    autocrlf = input
    # 改行コードについて非可逆的なコミットは拒否する。
    # こちらを参照: http://d.hatena.ne.jp/couichi/20110207/1297101115
    safecrlf = true
[alias]
    ad = add
    adp = add -p
    co = checkout
    ci = commit
    ca = commit -a
    # diff --cached の内容が表示される
    civ = commit -v
    cam = commit --amend
    sh = show
    so = remote show origin
    st = status
    ft = fetch
    br = branch
    hist = log --graph --pretty=format:'%Cred%h%Creset - %cd | %s %Cgreen(%cr)%C(yellow)%d%Creset %C(bold blue)<%an>%Creset' --abbrev-commit --date=short
    hists = log --graph --pretty=format:'%Cred%h%Creset - %cd | %s %Cgreen(%cr)%C(yellow)%d%Creset %C(bold blue)<%an>%Creset' --abbrev-commit --date=short --stat
    type = cat-file -t
    dump = cat-file -p
    # diff 関連
    df = diff
    dm = diff master
    dc = diff --cached
    d1 = diff HEAD~
    d2 = diff HEAD~~
    d3 = diff HEAD~~~
    d4 = diff HEAD~~~~
    d5 = diff HEAD~~~~~
[color]
    ui = auto
[i18n]
    commitencoding = utf-8
[merge]
    tool = extMerge
[mergetool "extMerge"]
    cmd = extMerge "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
    trustExitCode = false
# git df の度にツールが立ち上がるので、自分はコメントアウトしました。
#[diff]
#      external = extDiff

※あと、自分は alias g='git' を登録してあるので、g ci -m 'コミットメッセージ' hoge.txt などで git コマンドが実行可能になっています。

参考:
.gitconfigに設定してるaliasなどのまとめ
http://d.hatena.ne.jp/yuroyoro/20101008/1286531851

Pro Git (日本語版)
http://progit.org/book/ja/

git config の core.safecrlf って何のためよ?
http://d.hatena.ne.jp/couichi/20110207/1297101115

Git Immersion (チュートリアルになっているので、使い方の勉強に最適)
http://gitimmersion.com/