/ .gitconfig
.gitconfig
 1  [user]
 2      name = "Sainnhe Park"
 3      email = i@sainnhe.dev
 4      signingkey = 176E0BEC3A702FEBCCDA0A185A24ED790A08C8A3
 5  [core]
 6      editor = vim
 7      excludesFile = ~/.gitignore
 8  [commit]
 9      gpgsign = true
10  [diff]
11      tool = vim_diff
12  [difftool]
13      prompt = false
14  [difftool "vim_diff"]
15      cmd = "vim -d \"$LOCAL\" \"$REMOTE\""
16  [merge]
17      tool = vim_merge
18      conflictStyle = diff3
19  [mergetool "vim_merge"]
20      cmd = vim -f -c "MergetoolStart" "$MERGED" "$BASE" "$LOCAL" "$REMOTE"
21      trustExitCode = true
22  [pull]
23      rebase = true
24  [init]
25      defaultBranch = master
26  [alias]
27      cl = clone --depth 1
28      cn = clean -dfx --
29      ps = push
30      ft = fetch
31      pl = pull
32      mg = merge
33      mt = mergetool
34      st = status
35      sm = submodule
36      br = branch
37      dt = difftool
38      dt-staged = difftool --staged
39      df = diff --color
40      df-staged = diff --staged --color
41      df-fzf = !zsh $HOME/repo/dotfiles/scripts/forgit.zsh diff
42      co = checkout
43      co-fzf = !zsh $HOME/repo/dotfiles/scripts/forgit.zsh restore
44      cm = commit
45      acm = commit -a
46      cm-a = commit --amend
47      ad = add
48      adr = reset HEAD --
49      adu = add --update
50      ad-fzf = !zsh $HOME/repo/dotfiles/scripts/forgit.zsh add
51      logs = log --oneline --decorate --graph --pretty=format:\"(%h)  %an, %ar: %s\"
52      logs-all = log --oneline --decorate --graph --all --pretty=format:\"(%h)  %an, %ar: %s\"
53      log-fzf = !zsh $HOME/repo/dotfiles/scripts/forgit.zsh log
54      ig-fzf = !zsh $HOME/repo/dotfiles/scripts/forgit.zsh ignore
55      ed = !nvim `git ls-files -m --other --exclude-standard` -p
56      rg = !rg $(git rev-parse --show-toplevel) --column --smart-case -e
57      rg-ls = !rg $(git rev-parse --show-toplevel) --files
58      rg-all = !rg $(git rev-parse --show-toplevel) --column --smart-case --no-ignore --hidden -g '!.git' -e
59      rg-all-ls = !rg $(git rev-parse --show-toplevel) --no-ignore --hidden -g '!.git' --files
60      ls-committed = ls-tree --full-tree -r --name-only HEAD
61  [filter "lfs"]
62      clean = git-lfs clean -- %f
63      smudge = git-lfs smudge -- %f
64      process = git-lfs filter-process
65      required = true
66  ; [http]
67  ;     proxy = socks5://127.0.0.1:1080
68  ; [https]
69  ;     proxy = socks5://127.0.0.1:1080
70  ; [url "https://mirror.ghproxy.com/https://github.com/"]
71  ;     insteadOf = https://github.com/
72  ; [url "https://domain.tld/https/github.com/"]
73  ;     insteadOf = https://github.com/
74  ; ; Need to set gpg program on windows
75  ; [gpg]
76  ;     program = "C:/Users/sainnhe/scoop/apps/gnupg/current/bin/gpg.exe"