We've recently started to introduce gitflow, following mainly some youtube videos and some online articles - along with the GUI functionality within SourceTree.
However we think we're doing something wrong as we're hitting situations which we were hoping to resolve.
developer 1
is working on feature 1
, developer 2
is working on feature 2
, the develop
branch is for development and is staging, the master
branch is live/production
developer 1
- develop = master (in sync with master)
- develop -> branch to feature-1
- develop <- merged in feature-1
developer 2
- develop != master (isnt in sync with master)
- develop -> branch feature-2
- develop <- merge feature-2
Now we come to the problem, if developer 2
wants to put feature 2
live by merging it into master
- it will contain feature 1
, meaning they'll both go live.
So we're clearly doing something wrong - and this is what we need clarification from, the only 2 ways I can see around this off the top of my head are
- You create the new features from
master
rather thandevelop
- You use "Cherry Pick" which only takes the actual changed files into
master
The solution we want is for mixture of web development projects that do not have release cycles, they literally go live once the client has signed off the feature, so suggestions on how to achieve this would be much appreciated.
Thanks