Week 1 Reflections: Version Control, Git, GitHub

The start of my coding learning journey

October 5, 2015

Version Control

Version control allows you to keep track of the changes you make to a file. The goal of version control allows you to save snapshots of your work, and enables you to track changes according to when you did it, why you did it, and what the contents of the change were. Tracking and adding changes allows developers working on the same project to minimize work overlap and errors arising from miscommunication. This process of regular tracking and adding changes provides an efficient framework of stage gates to manage multiple changes to a project that might be happening simultaneously as a team of developers work on different parts of the code base.

Git

Git is a version control management system (VCS) that allows developers to work efficiently on the same file at the same time on the same project.

There are 3 stages of a git change - Working Directory, Staging Area, and the Git local repository. At the beginning, you can create a new branch from your master branch. Once you have created a file, you can start the process to make a git change. Once you have made some changes to the file on your working directory, you can start staging your changes by adding them to your staging area. Once you are ready to commit those changes, you can input the the git commit -m "" command and store your changes permantently to your Git local repository

GitHub

Why use GitHub to store your code? GitHub is an online "hub" that lives remotely on the Internet and allows you to store directories (folders) and files. These folders and files stored on GitHub can be accessed by other developers. GitHub allows multiple developers to collaborate efficiently via the online platform, where they can submit changes and also review changes before they are added into the master code base. A good way to think about GitHub is the Dropbox for code.