Git
Version Control
We always use source code control. It’s like a time machine. We can work in parallel universes of our source code, experimenting without fear of losing work, rolling back if something goes wrong.
Git is an open source source code control system written by Linus Torvalds. It’s fast and great for working in branches.
ref: Thoughtbot Playbook
We use GitHub and GitLab for hosting our Git repositories. By using these, our code is always backed up and available for other team members to access. We use ssh keys for authenticate so you will need to provide the System Admin with your public ssh key.
Commits should be made often with descriptive messages. They should also be pushed to GitHub or GitLab repos often as well in case anything were to happen to your computer.
Git Flow
Gitflow Workflow defines a strict branching model designed around the project release. This provides a robust framework for managing larger projects. Atlassian has a great tutorial on the gitflow workflow if you are not familiar with it.
The overall flow of Gitflow is:
-
A
develop
branch is created frommaster
-
A
release
branch is created fromdevelop
-
Feature
branches are created fromdevelop
-
When a
feature
is complete it is merged into thedevelop
branch -
When the
release
branch is done it is merged intodevelop
andmaster
-
If an issue in
master
is detected ahotfix
branch is created frommaster
-
Once the
hotfix
is complete it is merged to bothdevelop
andmaster
ref: Atlassian