I often rebase my feature branches, just by pulling the origin (see the [pull] rebase=true below) or interactive rebases here's my .gitconfig: [alias] a = add --all au = add -u # b = rev-parse --abbrev-ref HEAD b = branch compare = "!f(){ git rev-list --count --left-right " ${ 2 :+$1}...${ 2 :-$1} " | { read ahead behind; printf 'ahead: %s\tbehind: %s\n' $ahead $behind; } };f" bd = for - each - ref -- sort = '-committerdate:iso8601' -- format = ' %(committerdate:iso8601)%09%(refname)' refs/heads br = rev-parse --abbrev- ref HEAD am = commit --amend -C HEAD ci = "!f() { git commit -m \"$*\"; }; f" ca = commit --amend cl = clone -- no -tags #--single-branch clgh = "!f() { git clone --no-tags git@github.com:$@; }; f" co = checkout cp = cherry-pick cpa = cherry-pick --abort cpc = cherry-pick -- continue d = diff do = diff --name-only dp = diff --patience dc = diff --cached f = fetch fo = fetch origin g = grep -p l = log --oneline lg = log --oneline --graph --decorate --date-order ls = ls-files m = merge mf = merge --ff-only mff = merge --ff-only ma = merge --abort mc = merge -- continue ms = merge --skip p = push pf = push -f pu = "!f() { git push -u ${ 1 :-origin} ${ 2 :-$(git rev-parse --abbrev- ref HEAD)} ; }; f" pl = pull rb = rebase rba = rebase --abort rbc = rebase -- continue rbi = rebase --interactive rbs = rebase --skip rehh = reset --hard HEAD r = remote ra = remote add ragh = "!f() { repo=$(git r get-url origin 2> /dev/null || pwd); git remote add ${ 1 :-origin} git@github.com: ${ 2 :-caub/$(basename $repo)} ; }; f" rr = remote rm rv = remote -v rs = remote show rn = remote rename rao = remote add origin rro = remote remove origin rsu = remote set-url rsuo = remote set-url origin rsuogh = "!f() { git remote set-url origin git@github.com:$1; }; f" s = status sb = status - s -b sw = stash show st = !git stash list | wc -l 2 > /dev/null | grep -oEi '[0-9][0-9]*' [core] editor = vim # +startinsert! excludesfile = ~ /.gitignore hooksPath = ~/ .hooks [pull] rebase = true [fetch] prune = true [rebase] autoStash = true