M01 - Collaboration and Github
Collaboration and Code Management - Git, Github, and Version ControlDuring the first part of this lab, you will learn about version control software, what Git and Github are, and how the can help manage your projects
Introduction to Version Control
Throughout this course, you will be utilizing version control software to help manage your projects. But, what is version control?
Version control is tracking software changes, and the ability to analyze or revert to previous changes at a later time. Consider version control as as sort of "save point" system. You pick a point in time that you wish to "freeze" the state of your code, and then if you wish, you can revert back to that state at any point. To look at what version control is deeper, read the following document from the Git website below:
Also, take a look at the explanation of Version Control for the Atlassian website located below. The video on this website is a great introduction to the topic:
There also many terms/definitions associated with version control software (specifically Git). Here are some things you need to know:
Basic Setup
Repository (repo): The database storing the files.
Server: The computer storing the repo.
Client: The computer connecting to the repo.
Working Set/Working Copy: Your local directory of files, where you make changes.
Trunk/Main: The primary location for code in the repo. Think of code as a family tree — the trunk is the main line.
Basic Actions
Add: Put a file into the repo for the first time, i.e. begin tracking it with Version Control.
Revision: What version a file is on (v1, v2, v3, etc.).
Head: The latest revision in the repo.
Check out: Download a file from the repo.
Check in: Upload a file to the repository (if it has changed). The file gets a new revision number, and people can “check out” the latest one.
Checkin Message: A short message describing what was changed.
Changelog/History: A list of changes made to a file since it was created.
Update/Sync: Synchronize your files with the latest from the repository. This lets you grab the latest revisions of all files.
Revert: Throw away your local changes and reload the latest version from the repository.
Git
So how do we use version control? Well, we need to use version control software. The most popular and defacto standard is Git. Git utilizes LOCAL version control to maintain software. You can also use the distributed model, but often we utilize another service or software in order to do this. For more information on what Git is, look at the following website:
will be utilizing Git in this course, so for now, just become familiar with what Git it, and the service provides.
Github
If Git is the software that version controls the software, then Github would be the "Google Drive" of the software development world. Github is used to share code, collaborate, and has a variety of team and project management tools built in. Watch the following video to get a better understanding of Github:
Your Turn
Now we are going to begin to setup our software for our class. The first thing you are going to do is install the Git software on your machine. So perform the following steps
Click on the version of Git you need for your computer
Install the software with all the defaults. You should not have to do anything else but click next (in Windows) to install the software.
Next you will need to create a Github account.
Go to https://github.com/
Click the Sign Up button in the upper right hand corner
Fill out the form using your Ivy Tech email address
An email will be sent to confirm your account. Make sure to click on the link within the email to activate the account.
DON'T FORGET YOUR LOGIN INFORMATION
Watch the videos and perform the steps in one of the choices to better understand Git and Github:
Notes for Choice 1:
Notes for Choice 2:
Last updated