# 引入本地個人設定,避免將個資存入版本控制 [include] path = ~/.gitconfig.local # Git log 的預設顯示設定 [log] decorate = short # 顯示簡短的 ref 名稱(例如 HEAD -> main) abbrevCommit = true # 顯示簡短的 commit hash(例如 1a2b3c4) # 常用 Git 指令的簡寫別名 [alias] br = branch co = checkout ci = commit df = diff st = status g = grep -I lg = log -p # 顯示分支差異(未合併的 commit) ch = log --cherry --pretty=format:\"%C(auto)%h (%ar) %an: %s\" --date-order --reverse # 彩色圖形化 log(適合查看整體歷史) loq = log --graph --all --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(bold white)— %an%C(reset)%C(bold yellow)%d%C(reset)' --abbrev-commit --date=relative # 查找包含關鍵字的提交,並列出檔案異動 find = log --pretty=\"format:%Cgreen%H %Cblue%s\" --name-status --grep # 分支相關設定 [branch] autosetuprebase = always # 建立追蹤分支時預設使用 rebase 模式 # 顏色顯示設定 [color] ui = auto # 自動判斷是否啟用彩色輸出 [color "branch"] current = yellow reverse # 當前分支:黃色反白 local = yellow # 本地分支:黃色 remote = green # 遠端分支:綠色 [color "diff"] meta = yellow frag = magenta old = red new = green [color "status"] added = yellow changed = green untracked = cyan # 推送行為設定 [push] default = simple # 只推送目前分支(最安全) # 自動記憶 conflict 解法,下次可自動套用 [rerere] enabled = 1 # 使用 Git 協定 v2(較快也支援更多功能) [protocol] version = 2 # 新專案初始化時使用 main 作為預設分支 [init] defaultBranch = main # 合併衝突顯示樣式 [merge] conflictStyle = zdiff3 # 使用較清楚的 zdiff3 格式(需 Git >= 2.35) # GitHub CLI 整合登入憑證處理 [github] user = your-github-username [credential "https://github.com"] helper = helper = !/usr/bin/gh auth git-credential [credential "https://gist.github.com"] helper = helper = !/usr/bin/gh auth git-credential # 使用 delta 作為美化 diff 的分頁器(需另行安裝 delta 工具) [core] pager = delta [interactive] diffFilter = delta --color-only [delta] navigate = true # 支援方向鍵/jk 捲動檢視 diff