I'm working in a team of about 15 people and we're currently in the process of switching from svn
to git
and establishing a new workflow with git
.
I decided to use gitflow
as our new workflow because it can solve some issues we had with our not-really-existent workflow using svn
where everyone just put his/her code into the repository, sometimes without really thinking too much about it. That often lead to broken code and mad devs because they couldn't continue their work temporarily.
With gitflow
I wanted to try to force the people to change their behaviour step-by-step but apart from the issues with swapping the svn mindset by the git mindset (some devs didn't work with git in the past or even at all), we can't really agree on how to use this workflow efficiently.
There are many commits that just contain some reformatting of code or some tiny fixes (like typos) and these commits just get committed into our develop
branch right away without creating an extra feature branch for it.
Then we have some time-related issues. Who is responsible for approving merge requests?
We can't afford to put the load on one person as the "master" for merge requests and it doesn't make sense in my opinion.
So instead we initially agreed to just peer review the code and then the creator of the merge request does the actual merge but this approach has the flaw that not everyone reviews every request and so it takes quite long until x-many people reviewed the code. Where to put the threshold?
I guess in short we have some issues in defining the rules when someone has to create a feature branch and how the peer review process should be organized in order to not slow down too much.
Unfortunately I cannot find any resources on how other teams solved this.
I'm even not quite sure if I'm missing some very important points here in working with this workflow.
I also have to add that we don't have automated tests (yet) as the former development team didn't do this for years. So this is definitely another thing that might be a major obstacle for us.
Finally I decided to get here and ask for your help.
Do you have any advice that I could use to solve (some of) these issues we have?
software development methods and practices
andquality assurance and testing