Now when merging to it will rebase onto the target branch to make merge-to work more. I was finding that it will fail and I was doing the merge step all the time so now its built in.
56 lines
926 B
Bash
Executable file
56 lines
926 B
Bash
Executable file
#!/usr/bin/env bash
|
|
#
|
|
# Merges a git branch into a another branch.
|
|
#
|
|
# Author: Ade Attwood <code@adeattwood.co.uk>
|
|
# Created: 2018-11-11
|
|
#
|
|
|
|
set -e
|
|
|
|
MERGE_BRANCH="$1";
|
|
|
|
main() {
|
|
local branch=$(git rev-parse --abbrev-ref HEAD);
|
|
echo "Merging $branch with $MERGE_BRANCH";
|
|
|
|
#
|
|
# Ensure the target branch is up to date
|
|
#
|
|
git checkout $MERGE_BRANCH
|
|
git pull origin $MERGE_BRANCH
|
|
git checkout $branch
|
|
|
|
#
|
|
# Rebase onto branch so we don't create a merge commit
|
|
#
|
|
git rebase $MERGE_BRANCH;
|
|
|
|
#
|
|
# Merge into the target branch ensuring its a fast forward merge
|
|
#
|
|
git checkout $MERGE_BRANCH;
|
|
git merge --ff-only --log $branch;
|
|
}
|
|
|
|
if [[ ! -z "$1" ]]; then
|
|
main;
|
|
exit 0;
|
|
fi
|
|
|
|
cat << HELP
|
|
Git Merge To
|
|
|
|
For the reverse of \`git merge\`
|
|
|
|
The flow for the script is:
|
|
|
|
- Change to the target branch
|
|
- Pull branch for the latest changes
|
|
- Merge the previous branch
|
|
|
|
Usage: $0 <branch_name>
|
|
|
|
HELP
|
|
|
|
exit 1;
|