git-flow-rs-0.4.1 is not a library.
git-flow.rs
Extensible git flow written in rust.
Extensible: Customize the workflow that suits your preferences.
Follow configuration: Standardize team protocols.
Installation
Or download released binary.
Usage
git flow --help
Make sure that git command has been installed.
Usage: git-flow [OPTIONS] <COMMAND>
Commands:
start start a task
finish finish a task
drop drop a task
track track a task
sync sync branches
list list avaliable branch types
check check config
help Print this message or the help of the given subcommand(s)
Options:
-c, --config <FILE>
-h, --help Print help
-V, --version Print version
A small example.
# start a feature
# or git flow start feature/something
# then branch feature/something created from dev
# implement the feature
# commit changes
# finish the feature
# then feature/something merged into dev and this branch deleted
Config
Global config file should be located at ~/.config/git-flow/config.toml
(or C:\Users\YourUsername\AppData\Roaming\git-flow\config.toml
on windows).
Local config file should be located at <GitRoot>/.git-flow.toml
.
There is no default configuration. Here is an example.
Avaliable strategy:
merge
,rebase
,cherry-pick
.
Avaliable hook:
before_start
,after_start
,before_finish
,after_finish
,before_drop
,after_drop
.
Regex is avaliable on
to.n.name
.
[[]]
= "feature"
= "feature/{NAME}"
= "dev"
= [{ = "dev", = "merge" }]
= { = "git", = [
"push",
"origin",
"feature/{NAME}:feature/{NAME}",
] }
= { = "git", = [
"push",
"origin",
"--delete",
"feature/{NAME}",
] }
[[]]
= "hotfix"
= "hotfix/{NAME}"
= "main"
= [
{ = "main", = "merge" },
{ = "dev", = "merge" },
{ = "feature/*", = "merge" },
]
[[]]
= "bugfix"
= "bugfix/{NAME}"
= "dev"
= [
{ = "dev", = "merge" },
{ = "feature/*", = "merge" },
]
[[]]
= "release"
= "release/{NAME}"
= "dev"
= [{ = "main", = "merge" }]