# Git and Github

## What is Git?

Git is a version control system for tracking changes in files and coordinating work on those files among multiple people. We will be using it for source code management in this class.&#x20;

## Why use Git?

**Feature branching:** Each person working on a different aspect of your project can create a new branch off of your master branch. This allows for isolated work to be done in parallel without waiting for a teammate to complete their task.

**History:** Because Git keeps track of incremental changes as commits, we are able to look back at the change history to debug and revert back if needed.

**Local repositories:** As an example, Google Docs does not have local repositories. Everyone works on the same document. If a mistake is made, then everyone else’s work is also impacted. With Git, our source code is located among local and remote repositories that are not automatically synced.&#x20;

## What is GitHub?

GitHub, like DockerHub, is a cloud-based platform built around the Git tool. It is a platform that hosts remote repositories of code. Git itself is the version control tool that runs on our local computer.&#x20;


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hack-challenge.cornellappdev.com/team-collaboration/git-and-github.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
