aliases: Introduce git_parent and associated rebase aliases
This commit is contained in:
parent
0911dba370
commit
ae56510c16
@ -90,6 +90,15 @@ alias cont='git rebase --continue'
|
||||
alias branch_clean='git branch --merged | egrep -v "(^\*|master|dev)" | xargs git branch -d'
|
||||
alias tag_clean='git tag -l | xargs git tag -d && git fetch -t'
|
||||
|
||||
function git_parent {
|
||||
git log --pretty=format:"%D" HEAD^ | \
|
||||
grep -v "^$" | \
|
||||
sed "s/, /\n/g" | \
|
||||
grep -v "tag:[^,]*,*" | \
|
||||
head -n1 | \
|
||||
sed "s/origin\/\([^,]*\)/\1/"
|
||||
}
|
||||
|
||||
alias log='git log --graph --decorate --oneline'
|
||||
|
||||
# Branch
|
||||
@ -125,33 +134,43 @@ function grb {
|
||||
git rebase --interactive HEAD~$1
|
||||
}
|
||||
|
||||
function grbm {
|
||||
function grbi {
|
||||
# Save current branch
|
||||
BRANCH=$(git branch | grep \* | cut -d ' ' -f2)
|
||||
|
||||
# Checkout master & pull
|
||||
git checkout master
|
||||
# Save parent branch
|
||||
PARENT=$(git_parent)
|
||||
|
||||
# Checkout parent & pull
|
||||
git checkout ${PARENT}
|
||||
git pull
|
||||
|
||||
echo "Rebasing on" ${PARENT}
|
||||
|
||||
# Back to previous branch
|
||||
git checkout ${BRANCH}
|
||||
git rebase --interactive master
|
||||
git rebase --interactive ${PARENT}
|
||||
}
|
||||
|
||||
function grbr {
|
||||
function grbroot {
|
||||
git rebase --interactive --autosquash --root
|
||||
}
|
||||
|
||||
function gam {
|
||||
git autofixup master
|
||||
git rebase --interactive --autosquash master
|
||||
}
|
||||
|
||||
function ga {
|
||||
git autofixup HEAD~$1
|
||||
git rebase --interactive --autosquash HEAD~$1
|
||||
}
|
||||
|
||||
function gai {
|
||||
# Save parent branch
|
||||
PARENT=$(git_parent)
|
||||
|
||||
echo "Rebasing with autofixup on" ${PARENT}
|
||||
|
||||
git autofixup ${PARENT}
|
||||
git rebase --interactive --autosquash ${PARENT}
|
||||
}
|
||||
|
||||
# ╔═╗┬┌┬┐ ╔═╗┌┬┐┌─┐┌┐┌┌┬┐
|
||||
# ║ ╦│ │ ╠═╣│││├┤ │││ ││
|
||||
# ╚═╝┴ ┴ ╩ ╩┴ ┴└─┘┘└┘─┴┘
|
||||
|
Loading…
x
Reference in New Issue
Block a user