CONTROL SYSTEM Revision Control, also know as version control and source control, it’s a software to manage different versions in the development of any document. This systems are generally used in the development of softwares to control the version during the software lifetime and keep a history of the modifications made by the development team.
MERGE VS REBASE ▸ Merge: Applies a update block in a destination branch, generating a merge-commit on the top of the development history of that branch. ▸ Rebase: Reapply commits on top of another branch without generate merge-commits.
- SEMANTIC VERSIONING ▸ Increment: ▸ MAJOR: When you make incompatible API changes ▸ MINOR: When you add functionality in backwards- compatible manner ▸ PATCH: When you make backwards-compatible bug fixes
REMOTE REPOSITORY MODELLING An organised remote repository generally include two branches: develop and master. In the first (develop), we centralise the development history of the software. In the second (master), we have an stable history of our system
FEATURE DEVELOPMENT ▸ Define a feature ▸ Ramified from the development branch ▸ Just one developer or team by feature ▸ Allows Continuous Integration ▸ Must be deleted after finished
RELEASE FOR PRODUCTION ▸ Ramified from development branch ▸ Release hardening ▸ Minor version increases ▸ Updated the software document and support files
HOOKS ▸ pre-commit: used to inspect the current snapshot that’s about to be committed ▸ prepare-commit-msg: used to set a default commit message before the editor is fired up ▸ commit-msg: used to validate the commit message or any other thing before allowing a commit to go through ▸ post-commit: used to perform something after the commit completes, generally used for notification or something similar.
SIDE HOOKS ▸ pre-receive: it’s fired when the remote receives the push request and it takes a list of references that are being pushed from stdin. ▸ update: it’s fired for each branch the pusher is trying to update, like the pre-receive, but one for each branch. ▸ post-receive: fired after the push is complete, generally used for notification or something similar.
Lucas Mendes Lead Engineer at @isetbr Head of Product at @2X3 [email protected] devsdmf.io github.com/devsdmf about.me/devsdmf twitter.com/devsdmf Slides: bit.ly/devsdmf-puc-pad