Gitの設定


便利なツール

Bash-Completion


Windowsでは上記のようにデフォルトで表示されているbranch名。これがないと結構、今いるブランチを見失う。
これをOSX他でサポートする為のもの。

参考:
http://d.hatena.ne.jp/deeeki/20110402/git_branch_ps1

git-completion.bash

補完機能がないとタイポしまくります。補完機能入れましょう。

参考:
http://git-scm.com/book/ja/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%83%92%E3%83%B3%E3%83%88%E3%81%A8%E8%A3%8F%E6%8A%80

git-new-workdir

他のbranchの同時作業のお供に。
git cloneなんてする必要がなくなるそうです。

参考:
http://subtech.g.hatena.ne.jp/secondlife/20121207/1354854068

git-flow

branch管理をサポートしてくれる便利ツール(らしい)

参考:
http://www.atmarkit.co.jp/ait/articles/1311/28/news042.html

書いておきたいalias

色分け表示する

$ git config --global color.ui true

git log を見やすくするエイリアス

$ git config --global alias.l "log --oneline --graph --decorate"

これにいくつかのオプションを組み合わせてよく使う。

branchのmerge作業をする時など、他のbranchのlogもあわせて表示したい時

$ git l --all

各commitでの更新状況を確認したい時

$ git l --stat

--no-ff でのmergeを行う

$ git config --global merge.ff false

fast forwardのマージだと分岐したbranch情報が消えてしまうので、意図的にnon fast forwardにしておくとbranch情報が消えないのでbranch管理が綺麗になる(気がする)

ただ、git pullが fetch & mergeの為、この場合もno-ffになるので単体での設定には注意が必要。

追跡中のbranchはrebaseがいいので

$ git config --global branch.autosetuprebase always

恒久的にrebaseにしたい場合は下のconfigを書くと良い。

$ git config --global pull.rebase true

git statusが長すぎて見づらい

こんなconfigを書けばいいんじゃないかな

$ git config --global alias.s "status -sb"

viが使えないemacsな人は

$ git config --global core.editor "emacs -nw"

サーバ上にアップとかする事も多い気がするので、個人的にはdefaultのvi推奨。Ubuntuの時だけ僕は変更してます。