From d94663312f7c508862d5df4970bf29a1a5dfd316 Mon Sep 17 00:00:00 2001 From: spacewander Date: Tue, 10 Mar 2015 18:14:56 +0800 Subject: [PATCH] add merge-into to merge two branches quickly --- bin/git-merge-into | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 bin/git-merge-into diff --git a/bin/git-merge-into b/bin/git-merge-into new file mode 100755 index 0000000..4075863 --- /dev/null +++ b/bin/git-merge-into @@ -0,0 +1,34 @@ +#!/bin/bash + +current_branch() { + git rev-parse --abbrev-ref HEAD +} + +usage() { + echo "Usage: git merge-into [src] dest [--ff]" +} + +cur_branch=$(current_branch) +if [ "${!#}" == '--ff' ]; then + case $# in + 2 ) # dest --ff + git push "$(git rev-parse --show-toplevel)" "$cur_branch":"$1";; + 3 ) + git push "$(git rev-parse --show-toplevel)" "$1":"$2";; + * ) + usage + esac +else + case $# in + 1 ) + git checkout "$1" + git merge "$cur_branch" "$1" && git checkout "$cur_branch" + ;; + 2 ) + git checkout "$2" + git merge "$1" "$2" && git checkout "$cur_branch" + ;; + * ) + usage + esac +fi