gitconfig @ b44883779e1b bpollack/use-command-to-explicitly-call-ag-and-us-1442506830050
Close branch
| author | Steve Losh <steve@stevelosh.com> |
|---|---|
| date | Thu, 17 Sep 2015 16:37:39 +0000 |
| parents | 89f02592c52e |
| children | e5daabe9025c |
[user] name = Steve Losh email = steve@stevelosh.com [core] pager = cat editor = vim excludesfile = /Users/sjl/.gitignore [alias] tags = tag -l branches = branch -a remotes = remote -v make-the-fucking-branch-point-at-the-fucking-commit = "!sh -c 'git checkout $1 && git reset --hard $2' -" root = rev-parse --show-toplevel graft = cherry-pick -x l = log -18 --color=always --all --topo-order --pretty='format:%Cgreen%h%Creset %s%Cred%d%Creset %C(black bold)(by %an)%Creset' ll = log --color=always --all --topo-order --pretty='format:%Cgreen%h%Creset %s%Cred%d%Creset %C(black bold)(by %an)%Creset' gl = log -12 --color=always --all --graph --topo-order --pretty='format:%Cgreen%h%Creset %s %C(black bold)(by %an)%Creset%C(yellow bold)%d%Creset%n' gll = log --color=always --all --graph --topo-order --pretty='format:%Cgreen%h%Creset %s %C(black bold)(%cr by %an)%Creset%C(yellow bold)%d%Creset%n' pull = pull --ff-only up = merge --ff-only join = merge --no-ff discard-merge = reset --hard HEAD ack = log --color=always --all --topo-order --pretty='format:%Cgreen%h%Creset %s%Cred%d%Creset %C(black bold)(by %an)%Creset' --full-history -S ci = commit cm = commit -m d = "!sh -c 'git diff $* | vim -R -' -" di = !git diff --cached | vim -R - co = checkout id = rev-parse stat = status st = status unstage = reset HEAD uns = reset HEAD shelve = stash save --include-untracked unshelve = stash pop shel = shelve unshel = unshelve delete-local-branch = branch -D delete-local-reference-to-remote-branch = "!sh -c 'git branch -rd $1/$2' -" delete-remote-branch = "!sh -c 'git push $1 --delete $2' -" ; delete-branch = "!sh -c 'git delete-local-branch $1; git delete-local-reference-to-remote-branch origin/$1; git delete-local-reference-to-remote-branch upstream/$1' -" delete-branch = "!sh -c 'git delete-local-branch $1; git remotes | cut -f1 | sort | uniq | xargs -n1 -J % git delete-local-reference-to-remote-branch % $1' -" currentbranch = rev-parse --abbrev-ref HEAD fo = fetch origin fu = fetch upstream po = push origin ; lo = pull origin mo = !git merge --no-ff origin/`git currentbranch` mu = !git merge --no-ff upstream/`git currentbranch` uo = !git merge --ff-only origin/`git currentbranch` uu = !git merge --ff-only upstream/`git currentbranch` fuu = "!sh -c 'git fu && git uu' -" fuum = "!sh -c 'git co master && git fuu' -" addremove = !git add . && git add -u addrem = !git addremove sl = "!sh -c 'git show --color=always $1 | less -R' -" find-merge = "!sh -c 'git log $1..master --merges -n1' -" fuck-up-history-from = pull --rebase g = !git fuum ; BEGIN KALEIDOSCOPE SECTION ; GAZE INTO THE ABYSS ; Find all commits in the given ref that aren't also in master ; TODO: Make this take a second optional argument find-unmerged-commits = "!sh -c 'git log $1 --format='''%H''' --not master --' -" find-unmerged-commits-for = "!sh -c 'git log $1 --format='''%H''' --not $2 --' -" ; ksdiff is the bare kaleidoscope difftool alias ; ksdiffid is the one that expects $KSID to be set ksdiff = difftool -y -t Kaleidoscope ksdiffid = difftool -y -t KaleidoscopeWithId ; ksdiffwith opens a diff of (current revision)->(given revision) ksdiffwith = "!sh -c 'git ksdiff HEAD..$1' -" ; ksshow will open a single specific commit in kaleidoscope ; it includes the commit log info as a separate file ksshow = "!sh -c 'export KSID=`uuidgen`; git log -n1 $1 > .git/LOG_MESSAGE_$KSID; ksdiff --partial-changeset --UUID $KSID -- /dev/null .git/LOG_MESSAGE_$KSID; git ksdiffid $1^..$1; ksdiff --mark-changeset-as-closed $KSID' -" ; ksreview takes a branch, finds all commits in that branch that aren't ; merged into master, and opens them one-by-one with ksshow. It's good for ; reviewing pull requests. ksreview = "!sh -c 'git find-unmerged-commits $1 | xargs -n1 git ksshow' -" ksreviewfor = "!sh -c 'git find-unmerged-commits-for $1 $2 | xargs -n1 git ksshow' -" ; review takes a pull request URL and reviews it ; only works if you have the PR-fetching turned on and shit review = "!sh -c 'git fetch upstream && git ksreviewfor `echo $1 | sed -Ee \"s_.*pull/([0-9]+)_refs/pull/upstream/\\1_\"` upstream/master' -" reviewcombined = "!sh -c 'git fetch upstream && git ksdiff upstream/master `echo $1 | sed -Ee \"s_.*pull/([0-9]+)_refs/pull/upstream/\\1_\"`' -" ; END KALEIDOSCOPE SECTION [push] default = current [color] branch = auto diff = auto interactive = auto status = auto [difftool "KaleidoscopeWithId"] cmd = ksdiff --partial-changeset --UUID \"$KSID\" --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\" [difftool "Kaleidoscope"] cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\" [difftool] prompt = false [diff] tool = Kaleidoscope [merge] tool = splice [mergetool "splice"] cmd = "vim -f $BASE $LOCAL $REMOTE $MERGED -c 'SpliceInit'" trustExitCode = true [mergetool "Kaleidoscope"] cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot trustExitCode = true [web] browser = open [include] path = ~/.gitconfig_local