I'm trying to define a working schema to keep my repository in GitHub organized, but it's hard to come up with a solution.
My "idea":
I thought about keeping the branch master (default) and develop in the remote repository. The master branch will be blocked , it will only accept merge after the pull-request revision, ie collaborators will send their contributions to develop and generate a pull request from this to the master.
The branch feature / xpto, hotfix / xpto and others will be branched from develop , I do not know if it would be interesting to branch further with topic branch usage. Before you merge the local branches with develop , you must evaluate the need to apply a full rebase or some commit, aiming to keep a historical line clean and easy to read , after the local merge and the push to the remote, a pull-request of master <- develop
should be generated in GitHub.
In the text thus it was possible to observe some doubts, we will consolidate them and some more:
- In practice branch topic are really useful and used?
- Local rebase before push is a good idea, in what situation would it be advisable?
- Would it be better to change my CHANGELOG.md file in the develop branch, or create a branch release, change there and then merge with
master
anddevelop
? - When performing a merge of
master