DSCI 100
No big deal. Just send files to your teammates in emails. Right?
Problems with emailing as version control:
which version is the newest?
who made edits, when where they made?
what were you working on? (when you revisit the project 3 months from now)
can’t easily revert changes (if something breaks)
no sane way to discuss todo items, issues, etc.
OK, fine. Then let’s just share and edit files on dropbox/google drive. Right?
These solve only the problem of knowing which version is the newest
Still:
can’t tell who made edits, when they were made
can’t tell what you were working on when you revisit the project 3 months from now
can’t easily revert changes
no sane way to discuss todo items, issues, etc
(and honestly, you still usually end up with final_revision_v3_final.docx…)
In this course we use two major tools for version control
Git is a version control system that:
Keeps track of files in a repository (a folder that you tell Git to pay attention to)
Tracks of changes
Shares files with others
Handles conflict resolution
Runs on your (and your teammates’) local machines (collaboration)
GitHub is a cloud-based service that hosts your repository which:
Helps manage permissions (who can view your project, who can edit it)
Provides tools for project-specific communication (organized into issues)
Can be used to build and host websites/blogs
Notes:
Notes:
Notes:
Notes:
Notes:
Notes:
Notes:
Let’s get a repository made for our projects. Follow along!
Need a refresh? Check out this YouTube video made for the DSCI project.