-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.gitconfig-global.ini
55 lines (54 loc) · 2.88 KB
/
.gitconfig-global.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# .gitconfig-global.ini
# vim: set filetype=gitconfig:
[push]
# Only push the current branch, and only if names match.
default = simple
[alias]
pushfetch = "!f() { git push \"$@\"; git fetch --all; }; f"
revclean = "!f() { git revert -n \"$@\"; git reset HEAD . ; git revert --abort; }; f()"
ls = log --pretty=format:\"%C(green)%h\\\\ %C(yellow)[%ad]%Cred%d\\\\ %Creset%s%Cblue\\\\ [%cn]\" --decorate --date=relative
ll = log --pretty=format:\"%C(yellow)%h%Cred%d\\\\ %Creset%s%Cblue\\\\ [%cn]\" --decorate --numstat
lc = "!f() { git ll \"$1\"^..\"$1\"; }; f"
lnc = log --pretty=format:\"%h\\\\ %s\\\\ [%cn]\"
k = !gitk --all &
delbranch = "!f() { for rmt in $(git remote); do git push \"$rmt\" :\"${1}\"; git branch -d -r \"$rmt\"/\"${1}\"; done; git branch -d \"$1\"; }; f"
log-author = log --date=short --pretty=format:\"%ad %Cblue[%an]\"
remerge = "!sh -c \"git show HEAD:${2} > ${2}.HEAD; git show ${1}:${2} > ${2}.${1}; git show $(git merge-base HEAD ${1}):${2} > ${2}; $(git config --get merge.tool) ${2}.HEAD ${2} ${2}.${1};\""
checkmerge = "!sh -c \"git show HEAD:${2} > ${2}.HEAD; git show ${1}:${2} > ${2}.${1}; $(git config --get merge.tool) ${2}.HEAD ${2} ${2}.${1};\""
history = log --pretty=format:\"%h %ad | %s%d [%an]\" --graph --date=short
deltag = "!f() { git push --delete \"${1}\" \"${2}\"; git tag --delete \"${2}\"; }; f"
pull-upstream = pull --ff-only upstream master
remove-untracked = "!f() { git fetch --prune && git branch -r | awk \"{print \\$1}\" | egrep -v -f /dev/fd/0 <(git branch -vv | grep origin) | awk \"{print \\$1}\" | xargs git branch -d; }; f"
subupdate = ! \
git submodule foreach --recursive \
git submodule update --remote \
&& git submodule foreach --recursive \
'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo "")'
change-commits = "!f() { VAR=$1; OLD=$2; NEW=$3; shift 3; git filter-branch --env-filter \"if [[ \\\"$`echo $VAR`\\\" = '$OLD' ]]; then export $VAR='$NEW'; fi\" $@; }; f "
stash-show-all = "!f() { git stash list | awk -F: '{ print \"\\n\\n\\n\\n\"; print $0; print \"\\n\\n\"; system(\"git -c color.ui=always stash show -p \" $1); }' | less -R; }; f"
dag = log --graph --format='format:%C(yellow)%h%C(reset) %C(blue)%an <%ae>%C(reset) %C(magenta)%cr%C(reset)%C(auto)%d%C(reset)%n%s' --date-order
restore-deleted = !git restore $(git ls-files --deleted)
root = rev-parse --show-toplevel
[color "diff"]
whitespace = red reverse
[color]
ui = auto
[commit]
gpgsign = false
[gpg]
program = gpg2
[pull]
ff = only
[init]
defaultBranch = master
[core]
excludesfile = ~/.gitignore_global
pager = less -FMRiX
[mergetool "nvimdiff"]
hideResolved = true
layout = "(LOCAL,REMOTE)/MERGED"
[mergetool "vimdiff"]
hideResolved = true
layout = "(LOCAL,REMOTE)/MERGED"
[merge]
tool = nvimdiff