> For the complete documentation index, see [llms.txt](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mrparkonline.gitbook.io/guide-to-high-school-computer-science/introduction/set-up-github.md).

# Set up Github

<figure><img src="https://3237660759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxWDGx9OL6Z9y5tKDBcZt%2Fuploads%2FDB1wBgAe4mJJfh67T7qn%2Fimage.png?alt=media&amp;token=eaa12dec-bf81-4e3c-ad48-5cd5d3c7a403" alt=""><figcaption></figcaption></figure>

[**GitHub**](https://github.com/) is a web-based platform used for version control and collaborative software development, allowing multiple people to work on projects simultaneously. It provides a repository hosting service that includes features like bug tracking, task management, and continuous integration.

{% hint style="danger" %}
On your personal machine, you must have Git installed
{% endhint %}

## Create a GitHub Account

<figure><img src="https://3237660759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxWDGx9OL6Z9y5tKDBcZt%2Fuploads%2FyageQQNWopv57HVgFLpr%2Fimage.png?alt=media&amp;token=2dab448d-ec4b-46bd-870b-563a2c757147" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
It is highly recommended to use your personal email account for GitHub
{% endhint %}

## Setting Git with your Github Account

1. Open Terminal on VS Code
2. *Enter the following code*

```sh
git config --global user.name “YOUR GITHUB USER NAME”
git config --global user.email “YOUR GITHUB EMAIL USED”
```

## Fork the Exercises Repository

{% hint style="info" %}
A repository is a central location where code, files, and documentation for a project are stored and managed, often used for version control and collaboration.
{% endhint %}

1. While logged into your GitHub account, on the same browser: Go to the following repository [**(LINK)**](https://github.com/mrparkonline/marshall-py)

<figure><img src="https://3237660759-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FxWDGx9OL6Z9y5tKDBcZt%2Fuploads%2FafV1V8YkFjWmSdYv77tU%2Fimage.png?alt=media&amp;token=7adb7fb9-79d5-47c2-a1c4-7e79883b8a7a" alt=""><figcaption></figcaption></figure>

2. Fork the Repository to your account
3. Navigate to your forked repository that now exists in **your account**
4. Click the **Code** button. Copy the URL for the repository.
5. On your visual studio code's terminal, go to your home directory

```sh
cd $HOME
```

6. Clone the repository to your own machine

```sh
git clone https://github.com/YOUR-USERNAME/YOUR-FORKED-REPO.git
```

*Make sure to replace* `YOUR-USERNAME/YOUR-FORKED-REPO` with your repository's information

## How to use this repository

This repository currently contains the following:

1. A directory per exercise problems with solutions on YouTube
2. An empty Python file that a potential programmer can code on.

*It is expected that the user understands/knows how to navigate to different directories and execute a Python file from the terminal.*

You should be coding the exercises within these directories then pushing your changes to GitHub.

After any meaningful changes, on your terminal:

```sh
git add FILENAME.py
git commit -m “explanation of changes”
git push
```
