In revision control systems, a repository is a data structure which stores a set of files and directories structure
The whole set of information in the repository may be duplicated on every user's system (or may be maintained on a single server)
Since a project can involve a lot of people, often in different locations, repositories (repos) provide a way to work asynchronously (at different times) on the various parts of the project
Helps prevent one team member’s changes from overwriting another’s and/or breaking the working copy
Some of the metadata that a repository tracks include:
A historical record of changes in the repository
A set of commit objects
A set of references to commit objects, called heads
Repos can be architected in several ways
Probably the most popular is a distributed version control system, from which team members can download the entire code base to their local machine, work on it, and upload their changes
Any conflicts that occur (and conflicts DO occur!) can more easily be resolved by comparing changes – or concurrent changes – to earlier versions of the code
Versioning is the KEY
Projects are usually developed incrementally
Create a basic working version
Add to repo
Develop features and updates
Add, test
If a change breaks something, versioning allows developers to 'roll back' to the last working version,
then,
figure out what went wrong
We will be using GitHub for our semester projects
There are several steps (following) that have to be completed
The responsibility for maintaining the repo is the Team Leader’s
Each team member will create a (free) GitHub account, if you don’t already have one
The Team Lead will create the repo and ensure that all team members can contribute
Sign up for an account
Running Github from the command line can be complex, but there's a desktop application that makes things pretty easy
This is your local copy of the repo, where you’ll create, modify, and save files as you work. You could use a flash drive
Someone else on your team may have made changes and/or additions and uploaded them to the repo
So, first thing you have to do is pull a new copy of the repo to your computer
If you don't see the pull prompt, pull anyway:
So, one of your teammates made a change…
The changes will be reflected in your local copy after you’ve pulled the repo
You can use comments to communicate with your team
On the Github website, you can view the files & history of the project
View each commit - this is why the summaries are required; to track changes
This chart shows the workflow you’ll follow when working on your project. It’s important to remember that once you’ve made changes, they have to be uploaded to the repository so everyone will be able to access your work