Version control methodologies GitFlow GitHub Flow Ship/Show/Ask Trunk-Based Development Conventional Commits Keep a Changelog