Development Workflow
Forking versus Providing Write Access
Depending on the nature of the project and the team composition, it may be more preferable to fork (clone) repositories, or to work on the same repository using feature branches. ~The convention at Sage is to favor forking.~
TODO: insert a discussion of when it’s preferable to promote forking vs. providing write access to repositories.
TODO: insert Thomas’s forking workflow here
Version Control Development Style
There are two development styles commonly used at Sage: gitflow and trunk-based development.
This article provides a heuristic for deciding when to use gitflow vs. trunk-based development, though their reasoning is a bit flawed, in that they take an all-or-nothing approach on trunk-based development, requiring that all the developers on a project have the ability to merge to the default branch. If you remove that assumption, trunk-based development fits far more use cases.
Learn more about these two development styles:
Gitflow | Trunk-based |
---|---|
Atlassian: Gitflow Workflow | Atlassian: Trunk-based Development |
? | Trunk-based Development: Five Minute Overview |