We at work have three branches
- master
- release
- develop
We develop into branches based on the develop one, when finished, we merge that develop into the release one for the application to be tested. Meanwhile, we keep developing and merging things in develop.
One's release is tested, we make a merge into master. We never should merge develop directly into master and we want to avoid human factor accidents automatically.
Is there a git way to make branches incompatibles so any attempt to merge one into another is rejected? Is there a plugin or something?
masteris a "special" branch name. It's a default target branch for Pull Requests, etc. One could say, branches are meant to be merged to master.