GIT / Version Control Flashcards Preview

Frontend Fundamentals > GIT / Version Control > Flashcards

Flashcards in GIT / Version Control Deck (14):


GIT is software that keeps track of changes that you make to files and directories. Because what it does is manage versions for you, GIT is referred to as a Version Control System

  • Distributed Version Control
  • Open source and free software
  • Compatible with Unix-like systems (Linux, Max OS X, and Solaris) and windows
  • Faster than other SCMs (100x in some cases)
  • Better safeguards against data corruption


Version Control System (VCS)

Can be used interchangably with (SCM) and is used for source code management


Source Code Managment (SCM)

Can be used interchangably with (VCS) and is used for source code management


Examples of Version Control (non-source code)

  • File Name (budget_1, budget_2_)
  • Microsoft Word's Track Changes
  • Adobe PhotoShop's History
  • Wikis
  • Undo: Control + Z (windows)

These provide useful mental metaphors for you to have in your head to think about the way that a VCS works. Because ultimately they are all doing the same thing, they are keeping track of different versions, they are allowing us to go forwards and backwards in time to see different changes that have been made, and to even compare those changes between different versions


History of GIT

  • Source Code Control System (SCCS)
    • - 1972, closed source, free with Unix
    • Stored the oringinal file and then kept track of all the changes that went after it.
    • Only one file at a time, one user at a time
  • Revision Control System (RCS)
    • - 1982, open source
    • Kept the most recent file in its whole form, and if you wanted previous versions, the yo applied the change snapshot to go backwards.
    • Only one file at a time, one user at a time
  • Concurrent Versions System (CVS)
    • - 1986 - 1990, open source
    • Repository, concurrent - meaning it could be on a server and have multiple users work on it at a time.
    • Mutliple Files, multiple users at a time
  • Apache Subersion (SVN)
    • ​-2000, open source
    • Allowed saving of non-text files like images
    • Track changes to files and groups of files and in the directory
    • Mutliple Files, multiple users at a time

  • GIT

    • -April 2005

    • Created by Linus Torvalds

    • Distrubuted Version Conrol



Linus Torvalds

Creator of Linux and still drives the development of the Linux Kernel.

Creator of GIT


Distributed Version Control

  • No need to communicate with central server
    • faster
    • no network access required
    • no single failure point
  • encourages participation and "forking" of projects
    • developers can work independently
    • submit change set for inclusion or rejection


two-tree architecture

two-tree architecture


three-tree architecture

three-tree architecture











The HEAD pointer

The HEAD pointer


Master Branch

Master Branch