Skip Navigation
16 comments
  • My commit bible: https://cbea.ms/git-commit/

    • Yep, this is the convention. Unfortunately, I've never been able to enforce it. Encouraging good git commit messages is probably the bottom of the things I can coach. I'd be happy if commits were properly squashed/rebased and that we all followed the same PR merge strategy.

  • Driven through me as Lead Developer, we've adopted a Conventional Commits style using convco for conformance check and changelog/release note generating (customized template).

     undefined
        
    feat(auth): Introduce configurable permissions (ticketref) (!MR)
    
      

    We've extended allowed/used types of fix and feat to include docs, test, refac, and misc. We explicitly decided against types like @CodeSupreme linked like style, perf, build, ci, chore, revert. Slim number of types has value. build, ci are scoped to misc(proj) or misc(ci). Reverts are of the original type or misc chores with impact - not a disconnected separate type - and indicated in the commit title.

    We develop in branches, and are free to be messy until we found and implemented a solution at which point we clean up commits to an intentional, documented changeset (using Git interactive rebase with squashing etc).

    We use a semi-linear history, so once a changeset is approved we rebase and merge with a merge commit - so we only have at most one merged parallel branch in the history tree. The generated changelog only considers merge commits - where the changeset is documented as a whole (same title and description as the merge/review request).

16 comments