X-Git-Url: https://git.phdru.name/?p=dotfiles.git;a=blobdiff_plain;f=.gitconfig;h=fadf841ad54e7490ca76f1b86f7f81fbc499e241;hp=f8d7c44b7e628e0d4f70515f72bd613d4cfa15b7;hb=c62f4a398bfa5262b1fc8fa46ef88285933f79f8;hpb=febfff28ce2b1c96adb0fd1f670727084437289a diff --git a/.gitconfig b/.gitconfig index f8d7c44..fadf841 100644 --- a/.gitconfig +++ b/.gitconfig @@ -95,12 +95,19 @@ ssb = status --short --branch - aliases = "!git config --get-regexp '^alias\\.' | colrm 1 6 | sed 's/ / = /'" + aliases = "!git config --get-regexp '^alias\\.' | cut -c7- | sed 's/ / = /'" add-alias = "!f() { [ $# = 3 ] && git config $1 alias.\"$2\" \"$3\" && return 0 || echo \"Usage: git add-(local|global)-alias \" >&2 && return 1; }; f" add-global-alias = "!exec git add-alias --global" add-local-alias = "!exec git add-alias --local" + # Last tag in the current branch + lasttag = describe --tags --abbrev=0 + + # Latest annotated tag in all branches + lasttagged = !git describe --tags `git rev-list --tags --max-count=1` + + # List all tags tags = tag --list -n1 # Find text in any commit ever @@ -123,6 +130,12 @@ # Get the current branch name branch-name = rev-parse --abbrev-ref HEAD + assume = update-index --assume-unchanged + unassume = update-index --no-assume-unchanged + # assume-all = "!git st -s | awk {'print $2'} | xargs git assume" + unassume-all = "!git assumed | xargs git update-index --no-assume-unchanged" + assumed = !"git ls-files -v | grep ^h | cut -c 3-" + branches = branch --all ca = commit --all cv = commit --verbose @@ -131,9 +144,12 @@ checkin = commit ci = commit cat = cat-file -p + dir = rev-parse --git-dir dump = cat-file -p file = cat-file -t type = cat-file -t + ff = merge --ff-only + git = !git l1 = log --decorate --oneline l5 = log --decorate -5 ld = log --decorate @@ -152,6 +168,7 @@ remotes = remote --verbose #root = !exec pwd root = rev-parse --show-toplevel + status = status --no-short st = status --short stb = status --short --branch sd = show --decorate @@ -164,11 +181,18 @@ [color] ui = auto +[diff] + indentHeuristic = true + +[grep] + fallbackToNoIndex = true + [include] path = ~/lib/config/git/light_bg [log] abbrevCommit = true + #mailmap = true [merge] tool = vimdiff @@ -180,10 +204,18 @@ [push] default = simple + followTags = true + recurseSubmodules = check [receive] + #denyCurrentBranch = updateInstead + denyDeleteCurrent = true + #denyDeletes = true denyNonFastForwards = true +#[transfer] +# fsckObjects = true + [web] browser = webbrowser @@ -193,3 +225,17 @@ [gui] fontui = -family \"DejaVu Sans\" -size 18 -weight normal -slant roman -underline 0 -overstrike 0 fontdiff = -family \"DejaVu Sans Mono\" -size 18 -weight normal -slant roman -underline 0 -overstrike 0 + +# Github URL shortcuts +[url "git@github.com:"] + insteadOf = "gh:" + pushInsteadOf = "github:" + pushInsteadOf = "git://github.com/" +[url "git://github.com/"] + insteadOf = "github:" +[url "git@gist.github.com:"] + insteadOf = "gst:" + pushInsteadOf = "gist:" + pushInsteadOf = "git://gist.github.com/" +[url "git://gist.github.com/"] + insteadOf = "gist:"