]> git.phdru.name Git - dotfiles.git/blobdiff - .gitconfig
.gitconfig: Add alias `stashes`
[dotfiles.git] / .gitconfig
index 61b2d1398b9c4dc148eb3c396aea658cc30c5025..8c2f04054602eeaf5879f5b76feb30e0198a8537 100644 (file)
@@ -95,7 +95,7 @@
 
   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 <new alias> <original command>\" >&2 && return 1; }; f"
   add-global-alias = "!exec git add-alias --global"
   lasttag = describe --tags --abbrev=0
 
   # Latest annotated tag in all branches
-  lasttagged = !git describe --tags `git rev-list --tags --max-count=1`
+  lasttagged = !exec git describe --tags `exec git rev-list --tags --max-count=1`
 
   # List all tags
   tags = tag --list -n1
   grep-all = !"f() { git rev-list --all | xargs git grep \"$@\"; }; f"
 
   # Edit all files of the given type
-  edit-cached = !"f() { git ls-files --cached | sort -u ; }; exec `git var GIT_EDITOR` `f`"
-  edit-deleted = !"f() { git ls-files --deleted | sort -u ; }; exec `git var GIT_EDITOR` `f`"
-  edit-others = !"f() { git ls-files --others | sort -u ; }; exec `git var GIT_EDITOR` `f`"
-  edit-ignored = !"f() { git ls-files --ignored | sort -u ; }; exec `git var GIT_EDITOR` `f`"
-  edit-killed = !"f() { git ls-files --killed | sort -u ; }; exec `git var GIT_EDITOR` `f`"
-  edit-modified = !"f() { git ls-files --modified | sort -u ; }; exec `git var GIT_EDITOR` `f`"
-  edit-stage = !"f() { git ls-files --stage | cut -f2 | sort -u ; }; exec `git var GIT_EDITOR` `f`"
+  edit-cached = !"f() { git ls-files --cached | sort -u ; }; exec `exec git var GIT_EDITOR` `f`"
+  edit-deleted = !"f() { git ls-files --deleted | sort -u ; }; exec `exec git var GIT_EDITOR` `f`"
+  edit-others = !"f() { git ls-files --others | sort -u ; }; exec `exec git var GIT_EDITOR` `f`"
+  edit-ignored = !"f() { git ls-files --ignored | sort -u ; }; exec `exec git var GIT_EDITOR` `f`"
+  edit-killed = !"f() { git ls-files --killed | sort -u ; }; exec `exec git var GIT_EDITOR` `f`"
+  edit-modified = !"f() { git ls-files --modified | sort -u ; }; exec `exec git var GIT_EDITOR` `f`"
+  edit-stage = !"f() { git ls-files --stage | cut -f2 | sort -u ; }; exec `exec git var GIT_EDITOR` `f`"
 
   # Editing and adding conflicted files: when we get many merge conflicts
   # and want to quickly solve them using an editor, then add the  files.
-  edit-unmerged = !"f() { git ls-files --unmerged | cut -f2 | sort -u ; }; exec `git var GIT_EDITOR` `f`"
+  edit-unmerged = !"f() { git ls-files --unmerged | cut -f2 | sort -u ; }; exec `exec git var GIT_EDITOR` `f`"
   add-unmerged = !"f() { git ls-files --unmerged | cut -f2 | sort -u ; }; exec git add `f`"
 
   # 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-"
+
+  stashes = stash list
+
        branches = branch --all
        ca = commit --all
        cv = commit --verbose
        checkin = commit
        ci = commit
        cat = cat-file -p
+       dh = "!f() { git -c color.diff=always diff \"$@\" | perl /usr/share/doc/git/contrib/diff-highlight/diff-highlight | less; }; f"
+       dir = rev-parse --git-dir
        dump = cat-file -p
        file = cat-file -t
        type = cat-file -t
+       ff = merge --ff-only
+       git = !exec git
        l1 = log --decorate --oneline
        l5 = log --decorate -5
        ld = log --decorate
        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
 [color]
        ui = auto
 
+[diff]
+       indentHeuristic = true
+
+[grep]
+       fallbackToNoIndex = true
+
 [include]
        path = ~/lib/config/git/light_bg
 
 [log]
        abbrevCommit = true
+       #mailmap = true
 
 [merge]
        tool = vimdiff
 
 [push]
        default = simple
+       followTags = true
+       recurseSubmodules = check
 
 [receive]
-       denyNonFastForwards = true
+       #denyCurrentBranch = updateInstead
+       denyDeleteCurrent = true
+       #denyDeletes = true
+       #denyNonFastForwards = true
+
+#[tag]
+#      sort = version:refname
+
+#[transfer]
+#      fsckObjects = true
+
+[user]
+       signingKey = 6E080B70B6287B03
 
 [web]
        browser = webbrowser
 [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:"