@@ -44,7 +44,7 @@ PREFIX=$(git config --get gitflow.prefix.feature)
4444usage() {
4545 echo "usage: git flow feature [list] [-v]"
4646 echo " git flow feature start [-F] <name> [<base>]"
47- echo " git flow feature finish [-rFkD ] [<name|nameprefix>]"
47+ echo " git flow feature finish [-rFkDS ] [<name|nameprefix>]"
4848 echo " git flow feature publish <name>"
4949 echo " git flow feature track <name>"
5050 echo " git flow feature diff [<name|nameprefix>]"
@@ -232,6 +232,7 @@ cmd_finish() {
232232 DEFINE_boolean rebase false "rebase instead of merge" r
233233 DEFINE_boolean keep false "keep branch after performing finish" k
234234 DEFINE_boolean force_delete false "force delete feature branch after finish" D
235+ DEFINE_boolean squash false "squash feature during merge" S
235236 parse_args "$@"
236237 expand_nameprefix_arg_or_current
237238
@@ -312,7 +313,13 @@ cmd_finish() {
312313 if [ "$(git rev-list -n2 "$DEVELOP_BRANCH..$BRANCH" | wc -l)" -eq 1 ]; then
313314 git merge --ff "$BRANCH"
314315 else
315- git merge --no-ff "$BRANCH"
316+ if noflag squash; then
317+ git merge --no-ff "$BRANCH"
318+ else
319+ git merge --squash "$BRANCH"
320+ git commit
321+ git merge "$BRANCH"
322+ fi
316323 fi
317324
318325 if [ $? -ne 0 ]; then
@@ -353,7 +360,7 @@ helper_finish_cleanup() {
353360 git branch -d "$BRANCH"
354361 fi
355362 fi
356-
363+ t
357364 echo
358365 echo "Summary of actions:"
359366 echo "- The feature branch '$BRANCH' was merged into '$DEVELOP_BRANCH'"
0 commit comments