I've read a couple of information about git-flow, but still don't understand why it should be used instead of plain git commands. To me it looks like it propagates a (fairly complicated) branch-setup. OK, this should be easily adoptable. Git-flow also adds some higher-level commands around the lower-level, normal git commands.
Could someone please explain in only a few words the benefits of using git-flow over using plain git commands?
Git-flow is a wrapper around Git. The git flow init command is an extension of the default git init command and doesn't change anything in your repository other than creating branches for you.
If your organization is on a monthly or quarterly release cycle and it's a team that works on multiple releases in parallel, Gitflow may be a good choice for you. If your team is a startup, or an internet-facing website or web application, where you may have multiple releases in a day; gitflow isn't good for you.
Advantages of Git Flow Gitflow makes developer speed up the process with familiar branch structure. Single command to do multiple things at a time. Switching branches is easy. Keep repository & process clean and tidy.
Unlike Git-Flow, GitHub-Flow involves no release branches. In the ideas of GitHub-Flow, once a version is ready to go, it can be deployed. Similarly, GitHub-Flow believes that hotfixes are identical to minor feature changes, and their processing methods should be similar.
I believe git-flow allows you to implement a certain process within the dev team. It enforces certain practices such as naming conventions for your branches and assists with the flow
from development, to release, to master.
git-flow doesn't offer anything that basic git commands can't do. With the start
and finish
commands it abstracts away the merging and deleting.
Benefits are:
master
, develop
, release
, hotfix
Git Flow follows the branching model described in A successful branching model. Of course you can do all that with standard Git commands but Git Flow just encapsulates some of the conventions, especially naming related ones, into additional commands that just help to follow the branching model.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With