git-feature
- Create/Merge feature branch
git-feature
[-a|--alias PREFIX] [-s|--separator SEPARATOR] [-r|--remote [REMOTE_NAME]] [--from START_POINT] NAME...
git-feature
[-a|--alias PREFIX] [-s|--separator SEPARATOR] finish [--squash] NAME...
Create or merge the given feature branch. The feature branch name is made from the PREFIX, the SEPARATOR, and the NAME joined together.
The default PREFIX is feature
and SEPARATOR is /
, which can be changed (see OPTIONS and GIT CONFIG for details).
The branch NAME may be specified as multiple words which will be joined with -
. If the branch name contains the word finish
or is another OPTION, --
should be passed to stop OPTION parsing. See the EXAMPLES for details.
-a
PREFIX, --alias
PREFIX:The branch prefix to use, or feature
if not supplied.
-s
SEPARATOR, --separator
SEPARATOR:The separator to use for joining the branch prefix and the branch name, or /
if not supplied.
-r
[REMOTE_NAME], --remote
[REMOTE_NAME]:Setup a remote tracking branch using remote_name
. If remote_name
is not supplied, use origin
by default.
--from
START_POINT:Setup a start point when the branch created. If --from
is not supplied, use the current branch by default. This option will be ignored when finish
ing a branch.
finish
:Merge and delete the feature branch.
--squash
:Run a squash merge when finish
ing the feature branch.
The name of the feature branch.
You can configure the default branch prefix and separator via git config options.
git-extras.feature.prefix
:$ git config --global add git-extras.feature.prefix "prefix"
git-extras.feature.separator
:$ git config --global add git-extras.feature.separator "-"
$ git feature dependencies
...
$ (feature/dependencies) git commit -m "Some changes"
$ (feature/dependencies) git checkout master
$ git feature finish dependencies
$ (feature/dependencies) git checkout master
$ git feature finish --squash dependencies
$ git feature dependencies -r upstream
$ git alias features "feature -a features"
$ git features dependencies
$ (features/dependencies) ...
$ (features/dependencies) git checkout master
$ git features finish dependencies
$ git feature -s - dependencies
$ (feature-dependencies) ...
$ (feature-dependencies) git checkout master
$ git feature -s - finish dependencies
$ git config --global --add git-extras.feature.prefix "features"
$ git config --global --add git-extras.feature.separator "."
$ git feature dependency tracking
$ (features.dependency-tracking) ...
$ (features.dependency-tracking) git checkout master
$ git feature finish dependency tracking
git-feature
option or the finish
command as part of a branch name:$ git feature -- finish remote
...
$ (feature/finish-remote) git commit -m "Some changes"
$ (feature/finish-remote) git checkout main
$ git feature finish -- finish remote
Written by Jesús Espino <jespinog@gmail.com>
Modified by Mark Pitman <mark.pitman@gmail.com>
Modified by Carlos Prado <carlos.prado@cpradog.com>
Modified by Austin Ziegler <halostatue@gmail.com>
<https://github.com/tj/git-extras/issues>
<https://github.com/tj/git-extras>, git-create-branch(1), git-delete-branch(1)