Hey friend! 👋
Welcome to this repository which 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
- Fork ➡️ Make a copy of the project on your GitHub account
- Clone ➡️ Download the project from GitHub to your computer
- Edit ➡️ That's self-explanatory - here you will add your name to our contributors file
- Push ➡️ Update and send the changes to your online GitHub repository
- 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!
You reeeeeady?? Let's do it - we got this ☕️🫶
Requirement: If not already done, download Git here.
For the 95% of us that prefer videos instead of text, find the below video to assist you in contributing! 🌟
First, 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. 💪
Now that you have the copy on your own account, let's download the entire project on your local computer!
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.
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.
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, adjust it accordingly and paste it into QuiraContributors.md:
<td align="center">
<a href="https://github.com/YOUR_USERNAME">
<sub><b>YOUR NAME</b></sub>
<br />
</a>
</td>
4️⃣ To paste the code correctly you need to keep 2 things in mind. Firstly, new code must always go at the bottom. Secondly, there can only be 8 profiles per row. If a row already has the maximum amount you need to create a new row. This can be done by using <tr> YOUR CODE SNIPPET HERE </tr>
simply paste this code in three separate lines, following indentation. Remember code always goes at the bottom but above </tbody>
.
*Note: Look closely at how past contributors have pasted their code. Respect the indentation (aka the spacing between each line of code) to make sure the code is not messy. 🫶
5️⃣ When done, save the file!
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 ⬇️:
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! 🎉
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
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 quine.sh🚀
If you haven't yet, you could join our discord server if you need any help or have any questions. 🫶