GIT / Version Control Flashcards

1
Q

GIT

A

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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Version Control System (VCS)

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Source Code Managment (SCM)

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Examples of Version Control (non-source code)

A
  • 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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

History of GIT

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Linus Torvalds

A

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

Creator of GIT

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Distributed Version Control

A
  • 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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

two-tree architecture

A

two-tree architecture

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

three-tree architecture

A

three-tree architecture

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Workflow

A

Workflow

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Checksum

A

Checksum

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

SHA-1

A

SHA-1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

The HEAD pointer

A

The HEAD pointer

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Master Branch

A

Master Branch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly