]> git.netwichtig.de Git - user/henk/vcsh/git.git/commitdiff
Initial config based on https://github.com/durdn/cfg/blob/master/.gitconfig
authorHendrik Jäger <hendrik@securosys.ch>
Tue, 15 Aug 2017 06:17:12 +0000 (08:17 +0200)
committerHendrik Jäger <hendrik@securosys.ch>
Tue, 15 Aug 2017 06:17:12 +0000 (08:17 +0200)
.config/git/config [new file with mode: 0644]

diff --git a/.config/git/config b/.config/git/config
new file mode 100644 (file)
index 0000000..8df0a7c
--- /dev/null
@@ -0,0 +1,136 @@
+[user]
+       name = Hendrik Jäger
+       email = hendrik@securosys.ch
+
+# push/pull/diff/options
+[push]
+    default = current
+[pull]
+    default = current
+[diff]
+    mnemonicprefix = true
+[branch]
+    autosetuprebase = always
+[apply]
+    whitespace = nowarn
+
+[rerere]
+    enabled = false
+[rebase]
+    autosquash = true
+
+# alias {{{
+[alias]
+# basic {{{
+    st = status -s
+    cl = clone
+    ci = commit
+    co = checkout
+    br = branch
+    r = reset
+    cp = cherry-pick
+    gr = grep -Ii
+# }}}
+# tweak defaults {{{
+    diff = diff --word-diff
+    branch = branch -ra
+    grep = grep -Ii
+    bra = branch -ra
+    ai = add --interactive
+    # grep on filename
+    f = "!git ls-files | grep -i"
+# }}}
+# commit {{{
+    cm = commit -m
+    cma = commit -a -m
+    ca = commit --amend
+    amend = commit --amend
+    caa = commit -a --amend -C HEAD
+# }}}
+# log commands {{{
+    ls = log --pretty=format:"%C(green)%h\\ %C(yellow)[%ad]%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --date=relative
+    ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
+    lc  = "!f() { git ll "$1"^.."$1"; }; f"
+    lnc = log --pretty=format:"%h\\ %s\\ [%cn]"
+    fl = log -u
+    filelog = log -u
+# }}}
+# diff {{{
+    d = diff --word-diff
+    dc = diff --cached
+    # diff last commit
+    dlc = diff --cached HEAD^
+    dr  = "!f() { git diff -w "$1"^.."$1"; }; f"
+    diffr  = "!f() { git diff "$1"^.."$1"; }; f"
+# }}}
+# reset commands {{{
+    r1 = reset HEAD^
+    r2 = reset HEAD^^
+    rh = reset --hard
+    rh1 = reset HEAD^ --hard
+    rh2 = reset HEAD^^ --hard
+# }}}
+# git svn {{{
+    svnr = svn rebase
+    svnd = svn dcommit
+    svnl = svn log --oneline --show-commit
+# }}}
+# stash {{{
+    sl = stash list
+    sa = stash apply
+    ss = stash save
+# }}}
+# assume aliases {{{
+    assume = update-index --assume-unchanged
+    unassume = update-index --no-assume-unchanged
+    # show assumed files
+    assumed = "!git ls-files -v | grep ^h | cut -c 3-"
+    # unassume all the assumed files
+    unassumeall = "!git assumed | xargs git update-index --no-assume-unchanged"
+    assumeall = "!git status -s | awk {'print $2'} | xargs git assume"
+# }}}
+# subtree {{{
+    #   add
+    sba = "!f() { git subtree add --prefix $2 $1 master --squash; }; f"
+    #   update/pull
+    sbu = "!f() { git subtree pull --prefix $2 $1 master --squash; }; f"
+# }}}
+# various useful {{{
+    # last tag created
+    lasttag = describe --tags --abbrev=0
+    lt = describe --tags --abbrev=0
+
+    # conflict/merges
+    ours = "!f() { git co --ours $@ && git add $@; }; f"
+    theirs = "!f() { git co --theirs $@ && git add $@; }; f"
+
+    #list remotes
+    rem="!git config -l | grep remote.*url | tail -n +2"
+
+    #apply patch from other local repo
+    lap = "!f() { git --git-dir=$1 format-patch -k -1 --stdout $2 | git am -3 -k; }; f"
+
+    #open markdown files edited in last commit
+    last = "!gvim $(git show HEAD --format="" --name-only | grep -e .*md$ | xargs)"
+    #open just created markdown in working directory
+    newmd = "!gvim $(git status -s | awk {'print $2'})"
+
+    # initial empty commit
+    empty = "!git commit -am\"[empty] Initial commit\" --allow-empty"
+
+    # list all aliases
+    la = "!git config -l | grep alias | cut -c 7-"
+# }}}
+# convoluted aliases {{{
+    # grep from root folder
+    gra = "!f() { A=$(pwd) && TOPLEVEL=$(git rev-parse --show-toplevel) && cd $TOPLEVEL && git grep --full-name -In $1 | xargs -I{} echo $TOPLEVEL/{} && cd $A; }; f"
+    #rename branch tree to done-
+    done = "!f() { git branch | grep "$1" | cut -c 3- | grep -v done | xargs -I{} git branch -m {} done-{}; }; f"
+    #add bitbucket remote
+    ra = "!f() { git remote add $1 https://bitbucket.org/$2.git; }; f"
+# }}}
+# worktree list {{{
+    wl = worktree list
+    # undo from here http://megakemp.com/2016/08/25/git-undo/
+    undo = "!f() { git reset --hard $(git rev-parse --abbrev-ref HEAD)@{${1-1}}; }; f"
+# }}}