Contribute to Open Source in the next 10 min - Step by Step [Beginner Edition] 🦾
Tags: beginners, opensource, github, git
Published: 2023-06-23 12:10:01

Hey friend! 👋 

Today marks your start in the Open Source World!! 🌐👯‍♀️

In the next 10 min, you will contribute to your first Open Source projects - how crazyyy is that. 🚀

Now when contributing, we want to:

**1. fork -> 2. clone -> 3. edit -> 4. push -> 5. pull**

### Now, what does that mean in normal language? 🙈

1. Fork ➡️ Make a **copy of a project** on your GitHub account 
2. Clone ➡️ **Download the project** from GitHub to your computer
3. Edit ➡️ That's self-explanatory - here you will **add your name to our contributors file** 
4. Push ➡️ **Update and send the changes** to your online GitHub repository
5. Pull ➡️ **Send your contribution to the original GitHub repository**

That may sound a bit intimidating, but don't worry I got you! 👯‍♀️

Also if you are wondering:
**YES**, this is exactly how all the devs in the world contribute to software projects online! 

So in this project, you will have a great understanding of the mechanics behind GitHub so that you are ready for your future contributions! 

Now, are you reeeeeady?? We got this ☕️👯‍♀️

Requirement: If not already done, download Git [here](https://git-scm.com/downloads).

For the 95% of us that prefer videos instead of text, find the below video to assist you in contributing! 🌟

<p align="center">
    <a href="https://youtu.be/_wQ6lsw1JWc">
        <img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HdoAUOtP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/atsb00bvetaet8qkpp1a.png"/>
    </a>
</p>

 - - - -

## 1. Fork the project

First, head over [here](https://github.com/quira-sh/Your-First-Contribution) and click on `⭐️ star` in the right corner (to show some love 🫶💁‍♀️) and then click on the `fork` button.

Fork means you will create a copy of this repository in your own GitHub account. 💪

<img width="902" alt="Screenshot 2023-06-14 at 12 57 42" src="https://github.com/quira-sh/Your-First-Contribution/assets/83458751/18a56d08-c99d-4b17-b019-1c3147e4a0f8">

Now that you have the copy on your own account, let's download the entire project on your local computer!

## 2. Clone the repository

1️⃣ You should now have landed on your forked repo page, here you will see a `<>` button marked in green, click on it.

2️⃣ Click on the button looking like a `double square` (highlighted in red below) to copy the URL.


[![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ssgjxduyyczpoinrvtr.png)](https://github.com/quira-sh/Your-First-Contribution)



3️⃣ Open your terminal.

4️⃣ Use your terminal to move to a folder where you want to put the cloned project (using more technical language, this is called moving to a directory of your choice). 📁 

5️⃣ Type `git clone` and then paste the URL copied earlier.

You normally should have written 
`git clone https://github.com/YOUR-USERNAME/YOUR-REPOSITORY`

6️⃣ Press Enter.

## 3. Open the File and Make changes

The entire project is now on your computer! 

1️⃣ On your terminal, make sure that you are in the project (or directory 😉) by running: `cd Your-First-Contribution`.

2️⃣ Open the `QuiraContributors.md` file in a text editor or on your favourite IDE (aka VS Code, Atom, PyCharm, Sublime etc). 

Here you add your name (it can be a nickname if you want to!). 

3️⃣  Copy the below code and adjust it accordingly:

```
            <td align="center">
                <a href="https://github.com/YOURUSERNAME">
                    <sub><b>YOUR NAME</b></sub>
                    <br />
                </a> 
            </td>
```

*Note: We limit 8 profiles per row, so if the current row already has the maximum amount, create a new `<tr> YOUR CODE SNIPPET HERE </tr>`. 

4️⃣ When done, save the file!

## 4. Upload your changes to your online GitHub repo

OK, we got some changes done, now we need to upload them to your GitHub account.

In summary here we want to:
- ➕ add all the changes onto git
- 💬 add a commit message (which helps tell other devs what you have changed) and 
- 💾 push the changes to your online GitHub repository. 

1️⃣ So in your terminal, run the following command: `git add .`

2️⃣ After that, run: `git commit -m "description of what you changed/added"`

3️⃣ Finally, run: `git push`

At this point, if this is your first time, GitHub will ask you to authenticate yourself with your username and password. 🔐

4️⃣ Write out your GitHub username first and press Enter. 

5️⃣ For your password, ever since Aug 2021, it is a personal token you need to write (and not your actual password!). Don't worry though, let's get your token together by following the below: ☺

- On your GitHub account, hover to the top right of the page and click on your profile image

- Now click on `profile setting` 

- Find and Click on `developer setting`

- Click on `Personal Access Tokens (Token Classic)`

- Click on `Generate new token (classic)`

- Give a name e.g "authentification token"

At this point, you should be here ⬇️:


[![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/5v6obi1jvkd4o8il827e.png)](https://github.com/settings/tokens)



6️⃣ Select the scopes you want (for ease you can select all of them).

7️⃣ Click on `Generate token`

8️⃣ Your token will be displayed and you will be able to paste it into your terminal after which your push should have been successful! 🎉


## 5. Time to contribute! Send your changes from your online repo to the original repo 

We are so close to the end now! 🤙

All we need to do is now send over our changes to the original repository to make our contribution. 

In "GitHub language", this is called **"pulling a request"** because you essentially "pull" your changes into the original repository that you forked. 

1️⃣ Go now to your GitHub repo page online.

2️⃣ Click on the `Contribute` button.

3️⃣ Click on `Open pull request`


[![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/9m1ptpzl29vil3nbcp1n.png)](https://github.com/quira-sh/Your-First-Contribution)


4️⃣ You will then title your pull request with your *"Name Surname"* and you can leave the comment section blank.

5️⃣ Click `Create pull request` and that's it you have made your first contribution!! 🚀👯‍♀️

Congraaaaaaaats! ⭐️

 - - - -

You may be thinking, I thought I would be taken to the repository straight away but I'm left with the status of the pull request?

**YES**, this is because we now need to accept your pull request (it is also called **merging a pull request**).

All in all, contributions happen in this way where the maintainer(s) of the original repository (aka the people that are in charge of the repo) check your contributions and either end up accepting them or giving you feedback on what changes they need from you. 

So sit back and relax as you have just done everything you needed! ☀️🧘‍♂️🎉

We know it is always super tough the first time and it's really cool you got to this point - so proud of you! 👯‍♀️💚

 - - - -
 
If you are ready to start contributing to other projects, we have compiled a list of projects with easy issues you can get started on. Check out the list of projects on [quira.sh](https://quira.sh/?utm_source=devto&utm_campaign=first_time_contribution) and here's a [short playlist] (https://www.youtube.com/watch?v=kZ22hL0t_uU&list=PLnCV5fTAsUgpaLMY_Z8FqPxZ89v-_pcfY) in case you are blocked. 🚀

If you haven't yet, you could join our [discord server](https://discord.com/invite/ChAuP3SC5H/?utm_source=devto&utm_campaign=first_time_contribution) if you need any help or have any questions. 🫶


{% embed [https://dev.to/quira](https://dev.to/quira) %}