Skip to content

Instantly share code, notes, and snippets.

@joelpittet
Last active September 1, 2017 17:07
Show Gist options
  • Save joelpittet/ef98e8446b36ac53398d239135cc1a79 to your computer and use it in GitHub Desktop.
Save joelpittet/ef98e8446b36ac53398d239135cc1a79 to your computer and use it in GitHub Desktop.
[alias]
# View the SHA, description, and history graph of the latest 20 commits
l = log --pretty=oneline -n 20 --graph
# View the current working tree status using the short format
s = status -s
# Show the diff between the latest commit and the current state
d = !"git diff-index --quiet HEAD -- || clear; git diff --patch-with-stat"
# `git di $number` shows the diff between the state `$number` revisions ago and the current state
di = !"d() { git diff --patch-with-stat HEAD~$1; }; git diff-index --quiet HEAD -- || clear; d"
# Pull in remote changes for the current repository and all its submodules
p = !"git pull; git submodule foreach git pull origin master"
# Clone a repository including all submodules
c = clone --recursive
# Commit all changes
ca = !git add -A && git commit -av
# Checkout
co = checkout
# Switch to a branch, creating it if necessary
go = checkout -B
# Show verbose output about tags, branches or remotes
tags = tag -l
branches = branch -a
remotes = remote -v
# Credit an author on the latest commit
credit = "!f() { git commit --amend --author \"$1 <$2>\" -C HEAD; }; f"
# Interactive rebase with the given number of latest commits
reb = "!r() { git rebase -i HEAD~$1; }; r"
# Undo a `git push`
undopush = push -f origin HEAD^:master
# Kaleidoscope code review alias
# http://blackpixel.com/blog/2012/11/code-review-kaleidoscope.html
ksreview = "!sh -c 'SHA=${1:-HEAD}; BRANCH=${2:-master}; if [ $SHA == $BRANCH ] ; then SHA=HEAD; fi; git difftool -y -t Kaleidoscope $BRANCH...$SHA;' -"
st = status
ci = commit
br = branch
lg = log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%ci)%C(bold blue)<%an>%Creset' --abbrev-commit
[apply]
# Detect whitespace errors when applying a patch
whitespace = fix
[core]
# Use custom `.gitignore` and `.gitattributes`
excludesfile = ~/.gitignore
attributesfile = ~/.gitattributes
# Always use Unix line endings in checked out files
autocrlf = input
safecrlf = false
ignorecase = false
filemode = false
[help]
# Automatically correct typos after 3 seconds (30 deciseconds)
autocorrect = 30
[color]
# Use colors in Git commands that are capable of colored output when outputting to the terminal
ui = auto
[color "branch"]
current = yellow reverse
local = yellow
remote = green
[color "diff"]
meta = yellow bold
frag = magenta bold
old = red bold
new = green bold
[color "status"]
# added = yellow
# changed = green
untracked = yellow
[merge]
# Include summaries of merged commits in newly created merge commit messages
log = true
# Use `origin` as the default remote on the `master` branch in all cases
[branch "master"]
remote = origin
merge = refs/heads/master
[branch]
# Always rebase with git pull. git pull --no-rebase to override.
autosetuprebase = always
[push]
default = simple
# Kaleidoscope.app as difftool and mergetool.
[difftool "Kaleidoscope"]
cmd = ksdiff --partial-changeset --relative-path \"$MERGED\" -- \"$LOCAL\" \"$REMOTE\"
[diff]
tool = Kaleidoscope
[difftool]
prompt = false
[mergetool "Kaleidoscope"]
cmd = ksdiff --merge --output \"$MERGED\" --base \"$BASE\" -- \"$LOCAL\" --snapshot \"$REMOTE\" --snapshot
trustExitCode = true
[mergetool]
prompt = false
keepBackup = false
[merge]
tool = Kaleidoscope
[remote "origin"]
push = HEAD
[http]
sslVerify = false
[user]
name = Joël Pittet
email = [email protected]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment