CodeNewbie Community 🌱

Cover image for Contributing To An Open Source by A First-Timer (Part 1)
Ayu Adiati
Ayu Adiati

Posted on • Edited on • Originally published at adiati.com

Contributing To An Open Source by A First-Timer (Part 1)

Hello Fellow Codenewbies 👋

If you are self-taught, maybe you have a similar experience as mine.
As a self-taught, I only use "git" to push my own project to my own repository.

Also, other than the default (main) branch, I never create any other branch to work with.
I always create solo projects. And my naive thought says, 'I don't see the need of creating another branch because I will push my changes directly to my main branch'.

There Would Be A First Time For Everything

I have never thought of taking part in Hacktoberfest or contributing to any open-source out there simply because the idea of doing one is too overwhelming. I don't see many beginner-friendly repos to contribute to.

But this year - thanks to my beautiful community Virtual Coffee - I got the experience contributing to its open-source.
(📢 Special thanks to Dan Ott for the clear written instructions and Mike Rogers for helping me out executing one when I was shaking!)

From Forking Until Committing

  • Fork a repo
    Open the repo we want to contribute to on GitHub and click the fork button on the top right.

  • Clone the repo

    • Click the green "Code" button and copy the HTTPS URL.
    • In the terminal, navigate to the location where we want to store the repo.

        cd new-project-storage
      
    • Now it's time to use this command to clone the repo and paste the copied HTTPS URL as repo-url.

        git clone <repo-url>
      
  • Create a new feature branch

This branch would be our working branch, where we will commit our changes and the branch that we push later on to the upstream repo.

git branch <branch-name>
Enter fullscreen mode Exit fullscreen mode

This is to ensure that we are in the branch where we will make changes before working on it, so we don't accidentally push our changes to the main branch.

  git checkout <branch-name>
Enter fullscreen mode Exit fullscreen mode

📝 Additional Note

There is a shortcut to create a branch and navigate it automatically to the new branch:

  git checkout -b <branch-name>
Enter fullscreen mode Exit fullscreen mode

After we finish working on our changes, let's add them to the staging area.

git add .
Enter fullscreen mode Exit fullscreen mode

Then commit the changes.

git commit -m "The message of our changes"
Enter fullscreen mode Exit fullscreen mode

☕☕☕

We're done with all the steps from forking the repo until committing our changes.

Now let's take a coffee break before we create the Pull Request, which I will continue in the next post.

Reminder

Don't push our changes before reading the next post!


Thank you for reading!
Last but not least, you can find me on Twitter. Let's connect! 😊

Top comments (4)

Collapse
 
omicreativedev profile image
OmiCreativeDev

Next post goes to bad request :(

Collapse
 
adiatiayu profile image
Ayu Adiati

@omicreative oh, no.
I don't see any problem with it though, just like @terabytetiger here.

Maybe you can try to read directly from my blog?

Collapse
 
terabytetiger profile image
Tyler V. (he/him)

The links to the next posts are working for me - are you able to get to any of the other posts in the series?

What about navigating through their profile to the posts? Does that work for you?

Collapse
 
cofagegaetaph profile image
cofagegaetaph

For a first-timer, contributing to an open source project can be an exciting and rewarding experience. As a newcomer, the key is to start by familiarizing yourself with the project's documentation and understanding its contribution guidelines. Begin with small tasks or bug fixes to get a feel for the workflow and the project's like vehicleaccidentinjury coding standards. Engaging with the community through forums or chat channels can also provide valuable insights and support. By taking these initial steps, you can make meaningful contributions while learning and growing within the open source ecosystem.