git初心者向けのTipsなど

gitの基本的なcommandしか使ってないって人向けのtips集です。

エイリアスの設定

$ git config --global alias.co "checkout"

とすると、 ~/.gitconfig に

[alias]
  co = checkout

のように追記されます。
このようにgit configを叩いてもいいですし、~/.gitconfigを直接編集しても大丈夫です。

とりあえず、

[alias]
  co = checkout # checkout長い…
  st = status -sb # シンプルなstatus
  pr = pull --rebase # pull するときにmergeコミットを作らない
  fo = fetch origin
  ro = rebase origin # branchでfoしてroすればmasterにrebaseできる
  rc = rebase --continue
  wd = diff --word-diff # 単語単位のdiff
  gp = grep -n # grepに行番号を付ける
  lg = log --graph --pretty=oneline --decorate --date=short --abbrev-commit --branches
  # ログをtreeで表示(簡易tig) via http://webtech-walker.com/archive/2010/03/04034601.html

このあたりがおすすめです。あと、zshでgitもgにaliasしておくと良いです。git rebaseは知らなければとりあえず気にしなくても大丈夫ですが、使い方を覚えるとrebaseしないとか考えられなくなります、たぶん。

便利なコマンド

  • $ git co -
    • 前回checkoutしたブランチに戻る
  • $ git co -t origin/BRANCH_NAME
    • リモートブランチを一発でローカルにチェックアウト(trackingもされる)
  • $ git log -p
    • ログにdiffを表示
  • $ git log -S "text"
    • diffに指定の文字列を含むコミットを表示
    • git log はオプションでいろんな絞り込みができるので、詳しくはhelp参照
  • $ git show :/fix
    • (コミットメッセージが)指定の正規表現にマッチする最新のコミットを表示
  • $ git add -p
    • あるファイルの変更の一部だけをaddできる
  • $ git commit -v
    • コミットメッセージを書くときにdiffを表示する

設定

tracking
$ git config --global push.default tracking

を設定しておくと、あるブランチでgit pushしたとき(push先を明示的に指定しなかった場合)に、意図せず別のブランチをpushしてしまうことを防ぐことができる。逆に、きちんとtrackingを設定する必要があるので、その点は注意。

リンク