MCS 275 Spring 2022
Emily Dumas
Course bulletins:
A system to:
Version control systems (VCS) are also known as "source code management" (SCM).
project4.py
project4draft.py
project4-new.py
project4-fixed.py
project4-fixed-debug.py
project4final.py
project4final2.py
project4final3.py
project4final3 (1).py
project4final_fixed-new2_revised\ (1).2022-04-27.py
A version control system (VCS) can help.
A VCS created by Linus Torvalds in 2005.
Key properties:
* Finnish software developer and creator of Linux (1993).
* Free to use; multiple implementations available.
* Everyone has a copy of full history.
* Supports parallel branches of development; no concept of a single "latest" version.
* Many commands operate only on local files. Sync with others when ready.
There are some popular online services that will keep a copy of your project on a server that everyone working on it can exchange updates with. E.g.
These let you voluntarily centralize a purposely decentralized system.
A set of files and directories for which git tracks changes and a database of previous changes to those files.
Think of it as a single "project".
git init
Creates a git repository in the current directory.
Initially has empty history and doesn't track any files.
git add
Put current version of the file in a staging area.
git commit
Record staged changes in the database.
(These files will be tracked from now on.)
git log
Show recent commits and descriptions.
git status
Show summary of current situation.
git push
Contact a remote repository and send it commits that are in our database but not theirs.
Fails if remote has changed since our last push!
git pull
Contact a remote repository and get commits from its database that are not yet in ours.
May trigger a merge if there have been changes to both local and remote since we last pulled.
git show COMMIT:FILE
will display file contents at any commit.
Make a local copy of an existing repository (from URL, directory, ...).