What is git? What is GitHub?
The goals for this exercise are to
-
Briefly orient yourself to what 'Git' and "GitHub' are, and
why they're useful
What you need to do to prepare for this exercise:
- Watch any and all videos provided by your instructor about this topic
- Re-read any section(s) that are beneficial to you - this exercise draws on your previously acquired knowledge.
What is a version control system? Why is it
useful?
Take 2-5 minutes to read through
Automated
Version Control by the Software Carpentry project
Think of a couple of examples in your own life of a time when it
would have been useful to have
- Unlimited undos
- A way to collaborate with other people on a doc
What is git? Why is it useful?
- Git is popular
There are several DVCS’s, but many/most
people use git.
Therefore it’s easier to find help online,
looks better on the resume, etc, etc
- Distributed: Everyone gets a copy on their own computer, and
it’s easy to have several different versions (aka ‘branches’) on
your own computer for different reasons
- One version / branch is a copy of the ‘real version’
- One version / branch is to work on a new feature that you’re
adding
- One branch is to fix a bug that needs to be fixed ASAP
- Etc.
- Read through
Intro
to Distributed Version Control (Illustrated)
.
Stop when you get to the section on Mercurial.
Gotchyas (things to watch out for)
Git and GitHub can be challenging to use:
-
Git can mean several things
-
The client that’s built into Visual Studio
-
The command-line client that you use in the ‘cmd.exe'’
app
- there’s a *LOT* of help on the internet for
this, so if you search the Internet for help you’ll
probably run into this. A lot. These typically include
instructions to type stuff that starts with the word
“git”, as in “git add -a MyFile.cs”
-
Git software that runs on servers so that we can share
our work with other people
-
The file formats / “protocol” that the system uses.
-
It’s both powerful (because it’s open-ended), plentiful
(b/c it’s open source), and sometimes hard to use (because it’s
open-ended)
Git vs. GitHub (or VS Online, etc, etc)
- Git is great, but we need a way to share our work with other
people
- We need a ‘git’ server on the Internet
- GitHub to the rescue
- There are other options - VS Online, BitBucket, GitLab
- You can even set up your own if you really wanted (e.g.,
GitLab installed on your own computer on the Internet
somewhere)
What you need to do for this exercise
-
Read through the above material.
It's a
relatively
brief outline and not intended to provide you with a
comprehensive description of Git and GitHub
-
Follow the links listed above and read / skim through
those pages too.
-
There's nothing that you actually need to hand in for
this exercise; the hope is that this exercise will help
you understand git better even though there's nothing to
hand in.
-
This exercise should take less than 20 minutes. If
you're spending more time than that please do more
'skimming for the big ideas' and don't worry too too
much about the details yet.