Version control systems are software tools that help software teams manage changes to source code over time.
Git
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
Git is easy to learn and has a tiny footprint with lightning fast performance. It outclasses SCM tools like Subversion, CVS, Perforce, and ClearCase with features like cheap local branching, convenient staging areas, and multiple workflows.
Git Cloud Tools
GitHub
Internet hosting for software development and version control using Git.
GitLab
From planning to production, GitLab brings teams together to shorten cycle times, reduce costs, strengthen security, and increase developer productivity.
Bitbucket
One tool for all your professional needs from code to deployment.
Git workflow process
The Gitflow Workflow defines a strict branching model designed around the project release. This provides a robust framework for managing larger projects.
It was first published and made popular by Vincent Driessen at nvie.
The Gitflow Workflow defines a strict branching model designed around the project release. This provides a robust framework for managing larger projects.
If the team is doing continuous delivery of software, it’s recommended to adopt a much simpler workflow (like GitHub flow) instead of trying to use git-flow.
The idea includes two similar approaches for manage the code, but with important differences in the implementation.
GitFlow
Gitflow is really just an abstract idea of a Git workflow. This means it dictates what kind of branches to set up and how to merge them together.
GitHub Flow
GitHub flow is a lightweight, branch-based workflow that supports teams and projects where deployments are made regularly. This guide explains how and why GitHub flow works.