I just started version control with GitLab and Tortoisegit with gitflow workflow that I found on the internet. I want to develop a library and there is some pre-existing code. We are a team of 4 and in GitLab I will be the master of the project and the rest will be developers. I need some clarification if I am following the model right.
-> After I have created an empty project with a develop branch(default), master(protected) in GitLab,
-> (I clone the project, move the existing library folders into cloned folder under develop branch, and push it.) or (create a repository with the existing code and push it)
-> The developers can now clone the repository. They will create a feature branch locally off develop branch, test it and push to remote repository
-> The project in GitLab will have 3 branches now feature, develop, master. A developer would request a merge to merge
the feature branch to develop branch and after code review, master will merge it and delete feature branch. This happens repeatedly until the develop branch is stable for release.
-> The release-responsible developer would pull the develop branch, create a release branch locally, debugs-if any, and then pushes it to GitLab and gives a merge request. The master will merge the release beach to the master branch with a tag and to the develop branch and delete the release branch
-> In case of a hot fix, master will create a hot fix branch in gitlab which the developer will pull, work on it, and push. Master will merge it to the develop and master branches, and delete the hotfix branch