GIT is simply a tool that allows developers to collaborate on a project efficiently online. I say collaboration is one of its main core attributes, but there are still several reasons why developers should use git even when its a one man show. In this series of posts I will elaborate on what makes GIT so popular and how to use it effectively. In this series of posts I will be using Source Tree as a GIT client and Bitbucket to host my project. Below are a few definitions that will help you along this series of posts.
Distributed Revision Control: Allows many software developers to work on a given project without requiring them to share a common network.
GIT: Git is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows. Git was initially designed and developed by Linus Torvalds for Linux kernel development in 2005, and has since become the most widely adopted version control system for software development.
Remote Repository: A remote repository is simply a remote storage of your git and project files.
Local Repository: A local repository is a your local copy of your git and project files.
Branch: A branch is a separate copy of your project files in your git repository that is completely independent of all your other branches.
Merge: When you merge two branches together, you are literally merging the code base of both these branches together.
Rebase: Rebase branch a onto master, and it will recommit your changes on top of the master branch.
Tag: A tag is generally used to tag software code with a version number. Tags can be used for several other reasons though.
Stash: Stashing is used when you have code that is still not ready to be committed but you want to ensure its not lost.