Version Control is an absolutely critical component to developing that every coder should be familiar with. Version Control is a logging system which records the history of your code so that the entire progression can be available at a later time. Version control allows for developers to write, change, delete, and edit new and existing code while keeping a detailed record of all the different “versions” of our file(s). In particular, GitHub uses the version control system “Git”, which is what we will focus on in this post.

Photo by Yancy Min on Unsplash

Local vs Remote

There are two main types of version control systems: local and remote. A local system refers to any information that is stored on your computer itself. Any time you are performing a solo project or some quick coding for practical purposes, local storage will suffice. However, as soon as collaboration becomes a possibility, local version control no longer works because you will rarely be using the same computer as your colleague.

A **distributed version control system **is one where all users have a complete copy of the entire repository (project server). The project can now be worked on independently of any network or connection, so colleagues can access each other’s previous work and version updates no matter where they are working from. Once the changes are completed, the new work is “pushed” to the repository and can now be seen by all collaborators.

Fork & ‘Git Clone’

The first concept to be aware of when using GitHub’s version control system is what is called forking. Forking refers to making a personal copy of something already in the repository. Let’s say that your colleague wrote a quick script to load, clean, and save project data to a Pandas DataFrame. If you just wanted to get familiar with the script and apply it to your own data locally, you could just fork the repository and then you’d have that access. You can fork a repository by clicking ‘fork’ in the top right corner of a repository.

#mac #data-science #git #developer #version-control

Getting Started With Version Control
1.20 GEEK