We currently use Gitflow. Any features to the repository should be started as branches coming off the Development branch and be prefixed with feature/ (or an appropriate semantic prefix for commits that don't technically constitute a true 'feature', e.g. 'refactor/[refactor-description]' etc...). Any patches for production should be applied directly to Master AND Development and be prefixed with hotfix/. All branches should be associated with a pull request for merging back into Development or Master branches. For non-trivial commits (or in general), having someone else approve your pull request is preferred.
- Start on Development branch (
git checkout development) - Pull recent changes (
git pull) - Create new branch (
git checkout -b feature/[feature-name]) - Add changes (
git statusto see changes,git add .to add all changes) - Commit changes