【Git】最低限やっておきたい.gitconfig
前書き
個人用メモなので他の人がどうしてるのかは知りませんが。復旧したり新しい環境で再設定したりするのが結構だるいんですよね…。
なんだか最近こんな記事ばっかりですね。
aliasで強制的に--no-pagerをつける
いきなり.gitconfigとは全く関係無いですが、pager使いたかったら自分で指定する方がストレスフリーなのでaliasを設定しておきます。
私はNyaosを仕事でもプライベートでも使っているので_nyaに記述。コマンドプロンプトを使ってる?知らんがな。
alias git=git --no-pager
前提知識
Gitのconfigファイルは三種類あります。どれか一つだけ修正して「なんか動かねーぞ!」と慌てる前にgit config --list
を使って覚えのない設定で上書きされていないか確認しましょう。
git configでのオプション | 場所 |
---|---|
--system | (Gitがインストールされているディレクトリ)\etc\gitconfig |
--global | %USERPROFILE%.gitconfig |
--local | リポジトリの.git内のconfig |
また、どんな設定ができるかはここに書いてありますが、正直読んでも全然わかりません。
systemレベルの設定
editorをvimにしたりとか、diffツールをWinMergeにしたりとか。後はgrepにcolor設定したりとか。
alias以外はデフォルト以上のことはしないようにします。面倒だし。
[core] symlinks = false autocrlf = false editor = vim [color] diff = auto status = auto branch = auto interactive = true grep = auto [pack] packSizeLimit = 2g [help] format = man [http] sslCAinfo = /bin/curl-ca-bundle.crt [diff] tool = WinMerge guitool = WinMerge [difftool "WinMerge"] prompt = false path = C:/Program Files/WinMerge/WinMergeU.exe cmd = \"C:/Program Files/WinMerge/WinMergeU.exe\" -e -ub -dl \"Theirs Files\" -dr \"Mine Files\" \"$REMOTE\" \"$LOCAL\" trustExitCode = false [rebase] autosquash = true
aliasはこんな感じ。
[alias] #各短縮形 st = status cm = commit br = branch -a ad = add co = checkout wc = whatchanged sh = show ft = fetch #オレオレ便利コマンド diffd = difftool -d cancel = reset --soft HEAD^ history = log --graph --date=iso --pretty=format:'%Cgreen%h %cd %Cblue%cn %Creset%s' stat = log --stat unstage = rm --cached merged = branch --merged no-merged = branch --no-merged
globalレベルの設定
最低限userだけ入ってればいいでしょみたいなスタンス。
色んな人が使う端末ならsystemの大部分はこっちに持ってきた方がいいんでしょうけど。
[user] name = tumbling-dice email = xxxxx@gmail.com
localレベルの設定
好きにしたまえ。
後書き
メモでした。