mirror of
				https://github.com/ItsDrike/dotfiles.git
				synced 2025-11-04 01:16:35 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			111 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			111 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
[user]
 | 
						|
    name = ItsDrike
 | 
						|
    email = itsdrike@protonmail.com
 | 
						|
    signingkey = FA2745890B7048C0
 | 
						|
[alias]
 | 
						|
    quickclone = "clone --single-branch --depth=1"
 | 
						|
    bareclone = "!sh -c 'git clone --bare \"$0\" \"$1\"/.bare; echo \"gitdir: ./.bare\" > \"$1/.git\"'"
 | 
						|
    bareinit = "!sh -c 'git init --bare \"$0\"/.bare; echo \"gitdir: ./.bare\" > \"$0/.git\"'"
 | 
						|
    cleanup = "!default_branch=$(git remote show origin | awk '/HEAD branch/ {print $NF}'); git remote prune origin && git checkout -q $default_branch && git for-each-ref refs/heads/ '--format=%(refname:short)' | while read branch; do mergeBase=$(git merge-base $default_branch $branch) && [[ $(git cherry $default_branch $(git commit-tree $(git rev-parse $branch^{tree}) -p $mergeBase -m _)) == '-'* ]] && git branch -D $branch; done"
 | 
						|
 | 
						|
    m = "merge"
 | 
						|
    f = "fetch"
 | 
						|
 | 
						|
    p = "push"
 | 
						|
    pu = "!git push --set-upstream origin `git symbolic-ref --short HEAD`"
 | 
						|
    pf = "push --force"
 | 
						|
    pl = "pull"
 | 
						|
 | 
						|
    s = "status --short --branch"
 | 
						|
    ss = "status"
 | 
						|
 | 
						|
    ch = "checkout"
 | 
						|
    chb = "checkout -b"
 | 
						|
 | 
						|
    undo = "reset --soft HEAD~"
 | 
						|
    redo = "reset HEAD@{1}"
 | 
						|
    unstage = "restore --staged"
 | 
						|
 | 
						|
    c = "commit"
 | 
						|
    ca = "commit --ammend"
 | 
						|
    ci = "commit --interactive"
 | 
						|
    cm = "commit --message"
 | 
						|
    cv = "commit --verbose"
 | 
						|
 | 
						|
    a = "add"
 | 
						|
    aa = "add --all"
 | 
						|
    ap = "add --patch"
 | 
						|
    au = "add --update"
 | 
						|
 | 
						|
    d = "diff"
 | 
						|
    dc = "diff --cached"
 | 
						|
    ds = "diff --staged"
 | 
						|
    dw = "diff --word-diff"
 | 
						|
    dcm = "!sh -c 'git diff $0~ $0'"
 | 
						|
    linediff = "!sh -c 'git diff --unified=0 $1 $2 | grep -Po \"(?<=^\\+)(?!\\+\\+).*\" '"
 | 
						|
 | 
						|
    b = "branch"
 | 
						|
    ba = "branch --all"
 | 
						|
    bd = "branch --delete"
 | 
						|
    bD = "branch --delete --force"
 | 
						|
    bm = "branch --move"
 | 
						|
    bM = "branch --move --force"
 | 
						|
    bb = "!better-git-branch"
 | 
						|
 | 
						|
    r = "rebase"
 | 
						|
    ri = "rebase -i"
 | 
						|
    rc = "rebase --continue"
 | 
						|
 | 
						|
    l = "log --oneline --decorate --all --graph"
 | 
						|
    lp = "log --patch"
 | 
						|
    lo = "log --pretty=oneline --abbrev-commit --graph"
 | 
						|
    lg = "log --all --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --"
 | 
						|
    loog = "log --format=fuller --show-signature --all --color --decorate --graph"
 | 
						|
 | 
						|
    release = "!~/.config/git/release.py"
 | 
						|
 | 
						|
    make-patch = "diff --no-prefix --relative"
 | 
						|
 | 
						|
    set-upstream = "!git branch --set-upstream-to=origin/`git symbolic-ref --short HEAD`"
 | 
						|
 | 
						|
    fixup-picker = "!git log -n 50 --pretty=format:'%h %s' --no-merges | fzf | cut -c -7 | xargs -o git commit --fixup";
 | 
						|
    auto-fixup = "!sh -c 'git commit --fixup=$0 && git rebase --autosquash $0~'"
 | 
						|
    auto-fixup-picker = "!git log -n 50 --pretty=format:'%h %s' --no-merges | fzf | cut -c -7 | xargs -o git auto-fixup";
 | 
						|
 | 
						|
    staash = "stash --all";
 | 
						|
    stash-staged = "!sh -c 'git stash --keep-index; git stash push -m \"staged\" --keep-index; git stash pop stash@{1}'"
 | 
						|
 | 
						|
    reauthor-all = "-c rebase.instructionFormat='%s%nexec GIT_COMMITTER_DATE=\"%cD\" GIT_AUTHOR_DATE=\"%aD\" git commit --amend --no-edit --no-verify --reset-author' rebase --root"
 | 
						|
 | 
						|
    find-merge = "!sh -c 'commit=$0 && branch=${1:-HEAD} && (git rev-list $commit..$branch --ancestry-path | cat -n; git rev-list $commit..$branch --first-parent | cat -n) | sort -k2 -s | uniq -f1 -d | sort -n | tail -1 | cut -f2'"
 | 
						|
    show-merge = "!sh -c 'merge=$(git find-merge $0 $1) && [ -n \"$merge\" ] && git show $merge'"
 | 
						|
 | 
						|
    tracked-files = "ls-tree --full-tree --name-only -r HEAD"
 | 
						|
    tracked-text-files = "!git tracked-files | while IFS= read -r file; do mime_type=$(file -b --mime-type "$file"); [[ $mime_type == text/* ]] && echo "$file"; done"
 | 
						|
    total-lines = "!git tracked-text-files | xargs cat | wc -l"
 | 
						|
    total-files = "!git tracked-files | wc -l"
 | 
						|
    total-commits = "!git log --oneline | wc -l"
 | 
						|
	  comitter-lines = "!git log --author=\"$1\" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf \"added lines: %s, removed lines: %s, total lines: %s\\n\", add, subs, loc }' #"
 | 
						|
 | 
						|
    contributors = "shortlog --summary --numbered --email"
 | 
						|
[credential]
 | 
						|
    helper = store --file ~/.config/git/git-credentials
 | 
						|
[core]
 | 
						|
    excludefile = ~/.config/git/global_gitignore
 | 
						|
    editor = nvim
 | 
						|
    pager = delta
 | 
						|
[interactive]
 | 
						|
    diffFilter = delta --color-only
 | 
						|
[delta]
 | 
						|
    line-numbers = true
 | 
						|
[merge]
 | 
						|
    conflictstyle = diff3
 | 
						|
[diff]
 | 
						|
    tool = vimdiff
 | 
						|
[fetch]
 | 
						|
    prune = true
 | 
						|
[commit]
 | 
						|
    gpgsign = true
 | 
						|
[init]
 | 
						|
    defaultBranch = main
 | 
						|
    templatedir = ~/.config/git/templates
 |