Git and GitHub Overview
Overview of Git and GitHub Resources at the Urban Institute
To request access to GitHub at Urban, fill out the GitHub intake form.
The primary GitHub organization at Urban is UI-Research. We also maintain the organization UrbanInstitute. UI-Research provides more features, and the default repository visibility is private. UrbanInstitute is intended to house public-facing repositories.
1 Contents
This site includes several resources to help staff at Urban get started with Git and GitHub:
- Access & Installation: Walks through initial installation, configuration, and authentication steps.
- General Workflow: Walks through a typical workflow for using Git and GitHub across projects.
- Confidential Data Workflow: Extends the general workflow with steps for using confidential data.
- FAQs & Other Resources: Provides answers to FAQs and links to helpful external resources.
2 Motivation
Git and GitHub are tools that can help promote reproducibility through version control. Version control is a system for managing and recording changes to files over time, which can:
- Limit the chance of making a mistake
- Maximize the chance of catching a mistake when it happens
- Create a permanent record of changes to code
- Easily undo mistakes by switching between iterations of code
- Allow multiple paths of development while protecting working versions of code
- Encourage communication between collaborators
- Be used for external communication
Git is a distributed version-control system for tracking changes in code. It’s like a turbo-charged version of track changes for code. GitHub is an online hosting service for version control using Git. It also contains useful tools for collaboration and project management. It’s like a turbo-charged version of Box for sharing repositories created using Git.
The objective of using Git and GitHub is to create local repositories that track code (and sometimes data) and then push those repositories to GitHub for back-up and collaboration. When someone else edits the code, they can push their changes back to that repository.
3 Getting help
We know that learning these tools can be a challenge, but we’re here for you! Feel free to drop a message in the #github Slack channel with any questions. You can also use the #github Slack channel or TECH intake form to request help setting up a project with GitHub or an onboarding session for new users.