Version Control Flashcards

1
Q

Types of Version Control Systems

A
  • Local
  • Centralized
  • Distributed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q
  • Local database keeps track of file versions
  • e.g. RCS (Revision Control System)
A

Local VCS

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

VC systems either keep:
* actual copies of file versions; or
* ________, which are the set of additions / subtractions to a file.

A

patch sets

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q
  • A single server contains the file versions
  • Clients check out individual files/folders from the central server
  • Collaboration with others is possible
  • Easy to administer file permissions
  • Single point of failure
A

Centralized VC

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

Examples of Centralized VC

(According to the slides)

A
  • CVS (Concurrent Versions System)
  • Subversion
  • Perforce
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q
  • Machines fully mirror the repository, including the history of changes
  • Peer-to-peer approach
  • Each peer is a valid repository
  • No single point of failure
  • Large repositories may be impractical to mirror (either due to large files, or very long histories)
A

Distributed VCS

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

Examples of Distributed VCS

(According to the slides)

A
  • Git
  • Mercurial
  • Bazaar
  • Darcs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Advantages of VCS

A
  • Backup & Restore - Save all your changes and jump to any version at any time.
  • Short-term / Long-term undo - No fear of experimental changes, whether short or long term.
  • Synchronization - Stay up to date with teammates’ work.
  • Track Changes - Track the development of each file, and explain why the changes happened.
  • Track Ownership - Find out who made a particular change.
  • Branching/Merging - Make a copy of your code that you can modify in isolation. You can delete, or merge this copy back to the ‘main’ version.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

VCS Terminology

  • Where the files are stored
  • Repositories can be remote or local
  • Local repos are also called the working copy
A

Repository

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

VCS Terminology

(n.) a copy of another repository (all the files, and revision history)

A

Clone

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

VCS Terminology

  • (v.) To record the changes in the VC history/log
  • (n.) a version or ‘checkpoint’ that you can go back to any time
A

Commit

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

VCS Terminology

The latest commit in the repository

A

Head

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

VCS Terminology

  • A copy of the code base
  • Each branch can evolve separately from otherbranches
  • The stable code is usually found in a main branch (in Git this is called master)
A

Branch

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q
  • Different branches can be merged together
    • e.g.
      Branch A has commits 1 & 2
      Branch B has commits 1, 2, & 3
      B can be merged into A so that A will have the 3rd commit as well
A

Merge

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q
  • When there are two or more conflicting changes to the same file
  • ________ must be resolved
A

Conflict/s

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

To get all the latest changes from the remote repo and put them in your local repo

A

Update/Sync

17
Q

True or False

Git =/= GitHub

A

True

They are independent of each other.

18
Q
  • A distributed version control system
  • Free and open-source software
  • Primarily a command line tool
  • Has 3rd party GUI and add-ons for IDEs
19
Q
  • A website/service designed to function with Git(but not other VCS)
  • Main function: Allows users to create git repositories on their server
  • Alternative: GitLabs, BitBucket