MCS 275 Spring 2023
Emily Dumas
Reminders and announcements:
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.
Some version control systems:
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 repository on a server and/or let you interact with it in a browser.
These let you voluntarily centralize a purposely decentralized system.
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, ...).