WEEK: 2
Active: January 17th - January 23rd
Work Due: January 24th @ 9:00AM

GIT Version Control System

One great thing about working with text files is that their simplicity makes it easy to track changes between various versions of a file. Since the files contain only ASCII characters, it is easy to create programs that can look for character or word level changes to a document.

Why use Version Control?

  • Version control allows a developer/writer to make changes to a file and track their changes over time. By ‘committing’ changes to a file with a simple, associated message, the developer can create a list of how they have changed the file over time.
  • Version control also allows for a developer/writer to make changes that may or may not work; to essentially try something without being fully committed. If they find that the change they made was inappropriate, or did not work, they can simply go back to a previous version. There is no need for directories full of “save as” files.
  • Version control makes collaboration and sharing easier. Then all associated parties can see all changes made by each other, and manage any conflicts that may occur within a file from changing it at the same time.

More about GIT

Please read sections 1.1-1.3 in the following online book about Git. Pro Git - TOC

Then watch the following videos.

Why are we using GIT

  • I want you to use GIT so that you can track incremental changes to your work throughout your weekly assignments.

    • This will allow you to see your own change history.
    • This will allow you to try things, and know that if they do not work well, you can easily go back to what you had working before.
  • Your git repositories (or repo’s) can easily be integrated with GitHub.com (discussed in the next section). This gives;

    • Built in distributed cloud backup for free.
    • A free hosted webspace. (This is how you will submit assignments during most of the course).
    • This allows me and the graduate instructors to easily see your work/code and track the changes you made during the weekly development cycle.
  • The last reason you will be using GIT is because it is a standard industry tool in both commercial and research facilities. Your familiarity and comfort with it will make you a better future collaborator.

Typical Git Workflow

If you read further in the Pro Git book, you will see that the typical workflow for git is via the command line or terminal. Rather than introduce you to the command line, we are instead going to use a GUI-based (Graphical User Interface. Pronounced gooey) git client app. This will be introduced on the next page.

If you have additional questions, or want to learn more about git, check out the Git curated “External Links” page.