2024-10-27 23:03:47 +03:00

118 lines
3.1 KiB
Plaintext

[core]
excludesfile = ~/.config/git/ignore
editor = "$EDITOR"
pager = "$PAGER -+C -F"
fileMode = false
hooksPath = ~/.config/git/hooks
whitespace = fix,trailing-space,cr-at-eol
autocrlf = input
[i18n]
commitEncoding = utf-8
logOutputEncoding = utf-8
[init]
defaultBranch = master
[push]
default = current
[pull]
rebase = false
ff = only
[color]
status = auto
diff = auto
branch = auto
interactive = auto
grep = auto
ui = auto
[advice]
addEmptyPathspec = false
[log]
abbrevCommit = true
[apply]
whitespace = fix
[diff]
mnemonicPrefix = true
suppressBlankEmpty = true
rename = copy
submodule = short
[alias]
a = "!git ls-files --exclude-standard -m --others -t | fzf -1 -0 -m --bind load:last --preview 'git diff --color=always {2}' | cut -d' ' -f2 | xargs -r git add"
u = "!git diff --name-only --cached | fzf -1 -0 -m --bind load:last --preview 'git diff --staged --color=always {1}' | xargs -r git restore --staged"
d = diff
di = diff
ds = diff --staged
dno = diff --name-only
dw = diff --word-diff=color
co = checkout
ci = commit
cia = commit -a
amend = commit --amend --no-edit
amenda = commit --all --amend --no-edit
cim = "!_m() { git commit -m \"$*\"; }; _m"
cima = "!_m() { git commit -am \"$*\"; }; _m"
ps = "!git push origin $(git rev-parse --abbrev-ref HEAD)"
pl = "!git pull origin $(git rev-parse --abbrev-ref HEAD)"
pr = "pull --rebase"
st = status
br = branch
bm = branch --merged
bn = branch --no-merged
hist = log --pretty=format:'%Cgreen%h %Creset%cd %Cblue[%cn](%G?) %Creset%s%C(yellow)%d%C(reset)' --graph --date=relative --decorate --color=always
history = hist --all
hs = hist -n 10
hsa = hist -n 10 --all
last = log -1 HEAD
lastd = diff HEAD^ HEAD
today = hist --since=midnight
df = "!git log --pretty=format:'%h %cd [%cn] %s%d' --date=relative | fzf --preview-window=65% --preview='git diff --color=always {1}^ {1}' | awk '{print $1}' | xargs -I {} git diff {}^ {}"
type = cat-file -t
dump = cat-file -p
unstage = "reset HEAD --"
count = "rev-list --count --all"
# edit conflicted file on merge
edit-unmerged = "!$EDITOR $(git ls-files --unmerged | cut -f2 | sort -u)"
# add conflicted file on merge
add-unmerged = "!git add $(git ls-files --unmerged | cut -f2 | sort -u)"
remove-remote-tag = "!f() { git tag -d $1 && git push origin :refs/tags/$1 }; f"
[github]
user = "thek4n"
email = "thek4n@yandex.ru"
[user]
name = "thek4n"
email = "thek4n@yandex.ru"
signingkey = "thek4n"
[url "https://github.com/"]
insteadOf = "gh:"
[url "https://gist.github.com/"]
insteadOf = "gist:"
[url "https://gitlab.com/"]
insteadOf = "gl:"
[url "https://bitbucket.org/"]
insteadOf = "bb:"
[url "git@github.com:"]
pushInsteadOf = "https://github.com/"
pushInsteadOf = "http://github.com/"
pushInsteadOf = "gh:"
[url "git@gist.github.com:"]
pushInsteadOf = "https://gist.github.com/"
pushInsteadOf = "http://gist.github.com/"
pushInsteadOf = "gist:"