先日ホットエントリーに上がっていた以下の記事を読んでやる気を出して整理した。
記事からは以下を取り入れて、あとは不要なものを消したりして回った。
branch.sort -committerdate
- ブランチをコミット時刻で並べる
diff.algorithm histogram
rebase.autosquash = true
- rebase するときに
--autosquash
って書かなくてよくなるやつ
- rebase するときに
最終的には見せていいところだけ残して以下のようになった。
[ghq] root = ~/local/src [alias] c = commit b = branch d = diff di = diff --cached st-pull = !git stash && git pull && git stash pop tags = tag -l remotes = remote -v open = !gh browse -b $(git symbolic-ref --short HEAD) ls-conflict = !git ls-files -u | cut -f2 | uniq bang = !git clean -df && git reset --hard # `com` from: https://motemen.hatenablog.com/entry/2022/04/git-aliases com = "!f() { remote_head=$(git symbolic-ref --quiet refs/remotes/origin/HEAD); remote_head=${remote_head#refs/remotes/origin/}; git switch ${remote_head:-$(git rev-parse --symbolic --verify --quiet main || git rev-parse --symbolic --verify --quiet master)}; }; f" xom = com [rerere] enabled = true [commit] gpgsign = true [core] fsmonitor = true untrackedCache = true ignorecase = false [rebase] autosquash = true [diff] algorithm = histogram submodule = log [status] submoduleSummary = true [branch] sort = -committerdate
この設定なんだっけとなったら GitHub Copilot に聞けばよいので設定ファイルの整理がめちゃくちゃ捗るようになった。
記憶を失ったあとに自分の設定を読むときに GitHub Copilot が神すぎる pic.twitter.com/wNdOxbnpQK
— 名前を入力してください (@tomohi_ro) 2024年2月18日
ちなみに仕事用の設定は includeIf
を使って別のファイルを読み込んでいる。この辺りは ghq handbook の説明が分かりやすいです。