Title: Getting Started with Github
Date: 2013-08-25
Category: Tools
Slug: github
Tags: github, git
Author: David Evans

For this course you will need to use [github](http://github.com) to manage your
code and submit your assignments.  [Git](http://gitscm.com/) is a widely
used version control system originally developed by Linus Torvalds for
use in managing development of the Linux operating system kernel.
Github is company that provides free web-hosting for git repositories.

Follow the instructions below to get started using git and set up the
repository you will use for this class (we'll talk more about git in
class, but this should be enough to get started):

1. Register for a student github account: [https://github.com/edu](https://github.com/edu)

      Note: you need to do this even if you already have a public github
      account, unless you have a paid account to support non-public
      repositories.  With the student account, you will be able to have
      non-public repositories for free.

      You will need to verify your email address (which must be a .edu
      address), and then go back to the
      [https://github.com/edu](https://github.com/edu) page to fill in a
      form to request a student account.  You should then receive a
      "Powerup get!" message from github, and be able to create private
      repositories with your account.

2. Set up git on the machine you will use for course assignments. Follow the instructions here:
      [https://help.github.com/articles/set-up-git](https://help.github.com/articles/set-up-git).
      If you use the provided [VirtualBox image](|filename|virtualbox.md), git is already installed, 
      so just skip the `Download and Install Git` section. Otherwise, follow the instructions 
      to download and install a git client for your OS
      ([Mac](http://mac.github.com/),
      [Windows](http://windows.github.com/)).

For most of the assignments in this course, we will provide starting
code in a git repository.  For how to set up the repository for working
on your problem set, follow [these
directions](|filename|../../pages/tools/private-repos.md).

<div id="disqus_thread"></div>

<script type="text/javascript">
        /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
        var disqus_shortname = 'rust-class'; // required: replace example with your forum shortname
	var disqus_url = 'http://www.rust-class.org/github.html';

        /* * * DON'T EDIT BELOW THIS LINE * * */
        (function() {
            var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
            dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
        })();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>
