gitをインストールしたらまずやっておきたい2つのこと - Re.Ra.Ku アドベントカレンダー day 23

こんにちは、神場です。

今回はgitに関する記事です。さっそくですが、タイトルにあります2つのこととは

  • エイリアス
  • グローバルなgitignore

です。

何番煎じなんだろうという感じもありますが、本当に便利な機能なので、あらためて記事にまとめるのも意味があるのかなと思いたいですます。

なお自分の環境がMacなので、以下はMacの設定になります。(Windowsユーザーの方ごめんなさい。

エイリアス

よく使うgit statusのようなコマンドは毎回打つと疲れてしまうので、git stのようにエイリアスを設定して短くすると楽になります。

設定方法(ユーザーごとに設定する方法)

一つずつ設定する場合は、上記の例だとgit configを使って

git config --global alias.st status

のようにします。

まとめて設定する場合は~/.gitconfig

[alias]
    st = status
    b = branch

のように書きます。

エイリアスの例

以下は自分の場合の例ですが、

~/.gitconfigの例

[alias]
    st = status
    b = branch
    co = checkout
    pu = push -u
    sh = show
    a = add
    aa = add .
    p = pull
    c = commit
    l = log
    d = diff
    cleanup = "!git branch | grep -v master | grep -v develop | xargs git branch -D"

このぐらい書いておくとかなりタイピングする数が少なくなります。 また、エイリアスで外部コマンドを呼び出すことも出来るので、上記のcleanupのように、より複雑な動作も書くことが出来ます。

その他のもっと便利な例としては以下の記事が参考になります。

グローバルなgitignore

プロジェクト単位ではなく、開発者の環境ごとに固有なディレクトリ・ファイルはグローバルなgitignoreを設定すると便利です。

gitignoreすべきディレクトリ・ファイルの具体例

具体的なものとしては

OS固有のもの

Macなら.DS_Store、WindowsならThumbs.dbなど。

IDE固有のもの

IntelliJの.idea/ディレクトリ、Xcodeのbuild/ディレクトリなど。

辺りでしょうか。

設定方法(ユーザーごとに設定する方法)

いくつかありますが、以下の方法がシンプルで良いかなと思います。

1. ~/.gitconfigexcludesfileを追加する

~/.gitconfigの例

[core]
    excludesfile = /Users/me/.gitignore_global
2. excludesfileで指定した場所に.gitignore_globalを置く

/Users/me/.gitignore_globalの例

.DS_Store

gitignoreの雛形

ここで指定する.gitignore_globalの雛形は gitignore.ioでWeb上で生成するか、giboというライブラリを使うのがおすすめです。