Source Code Control

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.

For reference, this is the source of this information GitFlow Workflow By Atlassian

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.

For reference, this go to GitHub Flow Guide