diff --git a/zsh/.omz-custom/aliases.zsh b/zsh/.omz-custom/aliases.zsh index f442dc9..20ee7ef 100644 --- a/zsh/.omz-custom/aliases.zsh +++ b/zsh/.omz-custom/aliases.zsh @@ -9,3 +9,9 @@ alias girlboss="sudo" alias vialias="nvim $HOME/.oh-my-zsh/custom/aliases.zsh" alias update-grub="sudo grub-mkconfig -o /boot/grub/grub.cfg" + +############# +## Scripts ## +############# + +alias cherry-merge="$ZSH_CUSTOM/scripts/cherry-merge.zsh" diff --git a/zsh/.omz-custom/scripts/cherry-merge.zsh b/zsh/.omz-custom/scripts/cherry-merge.zsh new file mode 100755 index 0000000..a566189 --- /dev/null +++ b/zsh/.omz-custom/scripts/cherry-merge.zsh @@ -0,0 +1,25 @@ +#!/usr/bin/env zsh + +MAIN_BRANCH="main" +TARGET_BRANCH=$(git branch --show-current) + +if [ -z $TARGET_BRANCH ]; then + echo "Cannot find target branch, are you in a git repo?" + exit 1 +fi + +if [ $MAIN_BRANCH == $TARGET_BRANCH ]; then + echo "You cant merge main into main, silly" + exit 1 +fi + +echo "Target branch: $TARGET_BRANCH" +sleep 2 + +git switch "$MAIN_BRANCH" || exit 1 + +git cherry-pick "$TARGET_BRANCH" || exit 1 + +git switch "$TARGET_BRANCH" || exit 1 + +git merge "$MAIN_BRANCH" || exit 1