Ditch USBs and start using real version control, and if you follow this guide, you can start using git in 30 minutes!
If you have any experience with programming or just altering config files, I'm sure you've been dumbstruck by how one change you've made along the line affects the whole project. Identifying and isolating the problem without a version control system is often time- and energy-intensive, involving retracing your steps and checking all changes made before the unwanted behavior first occurred. A version control system is designed explicitly to make that process easier and provide readable comparisons between versions of text.
Another great feature that distributed version control systems such as git provide is the power of lateral movement. Traditionally, a team of programmers would implement features linearly. This meant pulling the code from the trusted source (server) and developing a section before pushing the altered version back upstream to the server. With distributed systems, every computer maintains a full repository, which means each programmer has a full history of additions, deletions and contributors as well as the ability to roll back to a previous version or break away from the trusted repository and fork the development tree (which I discuss later).
Quick Start Guide
The great thing about git is there's so little you need to know! Without further ado, let's begin with the most important commands.
First, I'm working with a previous project of mine located here:
[user@lj src]$ pwd /home/lj/projects/java/spaceInvaders/src
To create a local repository, simply run:
[user@lj src]$ git init Initialized empty Git repository in ↪/home/lj/projects/java/spaceInvaders/src/.git/
To add all source files recursively to git's index, run:
[user@lj src]$ git add .
To push these indexed files to the local repository, run:
[user@lj src]$ git commit
You'll see a screen containing information about the commit, which allows you to leave a description of the commit: