Git
Git is a distributed version control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files. Its goals include speed, data integrity, and support for distributed, non-linear workflows. Best known git as service are probably GitHub and Bitbucket, but many others are available, like GitLab, GerritForge, etc.
Copy git repository to local
Create a new local repository
Add one or more files to staging
Commit changes to head (but not yet to the remote repository)
Send changes to the master branch of your remote repository
Will apply all your yet-to-be-pushed commits on top of the remote tree commits allowing your commits to be straight in a row and without branches
List the files you’ve changed and those you still need to add or commit
Take your uncommitted changes (both staged and unstaged), saves them away for later use
Throws away the (topmost, by default) stash after applying it
Create a new branch and switch to it
Switch from one branch to another
List all the branches in your repo, and also tell you what branch you’re currently in
Delete the feature branch
Push the branch to your remote repository, so others can use it
Delete a branch on your remote repository
Fetch and merge changes on the remote server to your working directory