karantin2020
3/20/2017 - 8:05 PM

git aliases

[alias]
    # one-line log
    l = log --pretty=format:"%C(yellow)%h\\ %ad%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=short
    ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
    ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat

    a = add
    ap = add -p
    c = commit --verbose
    ca = commit -a --verbose
    st = status
    save = commit -a -m
    saveAll = "!git add -A && git commit -m"

    send = push -u origin

    filelog = log -u
	fl = log -u

	dl = "!git ll -1"
	dlc = diff --cached HEAD^

	# will output all your aliases
	la = "!git config -l | grep alias | cut -c 7-"

	# Rename [branch] to done-[branch]
	done = "!f() { git branch | grep "$1" | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f"

	# squash commits
	#sq3 = "!git reset --soft HEAD~3 && git commit --edit -m $(git log --format=%B --reverse HEAD..HEAD@{1})"
	#sq2 = '!git reset --soft HEAD~2 && git commit --edit -m"$(git log --format=%B --reverse HEAD..HEAD@{1})"'
	gr2 = reset --soft HEAD~2
	gr3 = reset --soft HEAD~3

	# reset to remote
	rr = "!git fetch origin && git reset --hard origin/master"