Pre-event Material

Getting set up with Git and GitHub

Overview

Teaching: 10 min
Exercises: 0 min
Questions
  • What is Git/GitHub?

  • Why do I need a GitHub account for this event?

  • Why are we joining a GitHub organization?

  • How do I configure my account so I can access cloud computing resources?

  • How will GitHub repositories be structured?

Objectives
  • Arrive at the hackweek with a GitHub user id and having joined the correct GitHub organization

  • Configure GitHub so that you can connect to our shared cloud computing resources

What is Git/GitHub?

Git is a popular version control system that is the foundation of most open source software development. You are not required to know Git in advance of this event, but come prepared to learn a lot about it! GitHub is a hosting service for Git repositories, enabling us to share code across teams in a web environment.

What if I do not have the git command on my local machine?

If you don’t have Git installed on you local machine, you can download the latest installer on Git-SCM. More help for the install process can be found in the official Git documentation

Why do I need a GitHub account?

There are three reasons you are required to have a GitHub account for the hackweek:

  1. We use GitHub credentialing to give everyone access to our cloud computing resources
  2. All of our tutorials and project work will be shared on GitHub
  3. You will want a GitHub account to practice everything you’ll be learning during the Git/GitHub tutorials

So, if you don’t already have a GitHub account, just navigate to GitHub:



Then, click on the big green button and then answer a few required questions. Be sure to save your password somewhere safe because you will need it later!

Why are we joining a GitHub Organization?

GitHub organizations are a convenient way for teams to get all content relevant to a specific project our workshop into one place. By having everything in one central location you will spend less time searching for hackweek content. GitHub organizations have ``teams’’ that offer simple ways to provide respository access to groups of people, rather than individuals.

We have created a GitHub organization called geohackweek. For security purposes you can only join the organization by invitation. Here are the steps:

  1. Once you have a GitHub ID, send it to Sheila Ocoma on our Slack channel
  2. We will then find your ID and send you an invitation which should generate an email notification to the email you provided when you signed up for GitHub
  3. Follow the links in the email to accept the invitation

How should I configure my GitHub account?

As you’ll learn in the next lesson, we will use the geohackweek GitHub organization as a way to manage access to our cloud computing resources. In order for this to work each person must have public, rather than private membership in the geohackweek organization.

First, navigate to the “People” tab on the geohackweek GitHub organization:



Now, if you see “Private” to the right of your account, you will need to switch this to “Public”:



The steps for doing this are also well documented on this GitHub help page.

How will GitHub repositories be structured?

When you click on the “Repositories” tab in the geohackweek GitHub Organization you will see a list of names, each of which links to a separate GitHub repository:



Each repository is a container for a specific subset of material for this event. For example, we have a separate repository for each tutorial. There is a repository for the public-facing website you used to register for this event, and a repository for the wiki page. We’ll also create new repositories for each project when we meet in person.

How do I learn more?

We encourage you to start practicing with Git and GitHub in advance of this event. Our tutorials will follow this lesson. Additional tutorial content from our past hackweeks is here. As always, feel free to post questions on Slack if you run into any difficulties!

Key Points