...
In general, gitflow operates with to two main branches: master, where the code that forms the basis for the current release (production) is found, and develop, where code that forms the basis for the next release is to be found.
The gitflow model further operates with feature, release and hotfix branches.
Neither of master or develop are ever committed directly upon, only merged into from feature, release or hotfix branches.
A feature branch is made off the develop branch and represents development effort that stretches over multiple commits, ie. development spanning commits where (some of) the intermediate commits potentially break functionality, compile-time and/or runtime. There can be multiple feature branches at any given time.
...