---
# System prepended metadata

title: Github Collaboration

---

# Github Collaboration
### Introduction
Yo. Hi Tanny (and maybe Dua too idk, and maybe other people if I share this too). I wrote this guide quickly nearly the end of recess cuz I thought it would be more productive to give you a guide to follow while I write code (unlike last time where we ltierally couldn't decide Tanny's username) so uhh here it is. By the way, I don't mention everything you can possibly do using Github here, because I'm short on time and that would take too long so I'm gonna oversimplify a bit and cut out the small details.

:::info
Please actually read everything I say I don't know why I wrote all of this but I actually put effort into writing this.
:::

## Instructions
#### What you need:
* Braincells
* Common sense
* Not broken hands (unlike me two months ago)
* A github account
* More common sense

Ask me if u have any questions. Or don't. I don't know.

### Steps
First of all open up to your github account. Trying to make this guide as short and concise as possible because recess ends in 6 minutes and I can only type so fast. Next navigate to the repository of our code (or just click [this](https://github.com/njafribotball/019423) link)

You should see something that looks like this:
![](https://i.imgur.com/huPRk7P.png)
<br/><br/>
Click on the fork button to create a github fork (a copy of the code on your own account so you can make changes). Don't change any settings and press "Create Fork".

Nice, you just created a fork! And I have 3 minutes left to tell you how to make pull requests. Ouch.

![](https://i.imgur.com/MGwpO9j.png)

Click on the thing that says branch. Then click the big green button that says New Branch, and name the new branch whatever you want. Personally I like to name it `botball-patch-[#]` but it really doesn't matter.

Now it should say something like this under "Active Branches":

![](https://i.imgur.com/FRR31lR.png)

Click on the name of your branch (in my case, `botball-patch-1-tutorial`) so you can navigate to the branch. You can also access the branch by going to the home of the repository, clicking the branch icon, and clicking the branch you want to access. Never make changes directly to the main branch, it complicates making pull requests.

![](https://i.imgur.com/v2eZrHH.png)

Once you are on the branch the name should have changed from main to something else (whatever you named it to) in the top right corner 
<br/><br/>![](https://i.imgur.com/ID6nD4R.png)

Next you actually have to make a change and create a commit. You can navigate the source code through github's file explorer thing. I organized our repository to have a license file, a readme, a manifest, and a source folder (that contains our code). Click on the source folder and their should only be one file in there (our main file, `main.c`).

![](https://i.imgur.com/pOO9C8Y.png)

Press the edit button, edit the code however you want, give the commit a name and press "Commit Changes". If you ever need to make multiple changes at once make multiple commits, please don't put them all in one.

![](https://i.imgur.com/gG9IuCD.png)
<br/><br/>_The edit icon is the pencil button thing ↑_

![](https://i.imgur.com/LUylSR0.png)
<br/><br/>_Press commit changes to commit (obviously) ↑_

After you finished making all the changes you wanted to, click on the Pull Requests menu.

![](https://i.imgur.com/QpH3HGe.png)

Then press the big green button saying New Pull Request.

![](https://i.imgur.com/ZK78JUq.png)

Click on the button named compare on the right and select the branch you made the changes on. 

![](https://i.imgur.com/Aiw28gW.png)

Verify that those are the changes you made and press "Create pull request". Write why you are creating a pull request and what the pull request is changing. 

![](https://i.imgur.com/u5dxN5P.png)

Then press "Create pull request". If I find the change useful and needed then I can merge the pull request and integrate it with the main repository. If I don't then I'll tell you why in the Pull Request discussion. You can always reuse the fork you made of my code however if there are changes the fork doesn't have tell me and I'll teach you how to synchronize the fork.

Happy contributing!

*Rehan*