Hacktoberfest 2022!
Tags: hacktoberfest, opensource
Published: 2022-09-30 22:29:19

**Hacktoberfest 2022 is here!** Hacktoberfest is a month long celebration of Open Source, and I'm really excited about this year's Hacktoberfest. You can check out Hacktoberfest.com. We have this awesome new design that the team has put together.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/TGE4K17o7wS8jBLHW3Jn-18.png)

### How to Participate in Hacktoberfest

Hacktoberfest is about open source and open source really does make the world go ‘round. This month we are dedicated to helping out open source. What do you have to do to participate in Hacktoberfest? To participate in Hacktoberfest, you just have to create 4 pull requests that are merged on public repos that are marked as Hacktoberfest repos.

> To participate in Hacktoberfest, you just have to create 4 pull requests that are merged on public repos that are marked as Hacktoberfest repos.

### What are the Hacktoberfest values?

If you take a look at the Participation tab on Hacktoberfest.com, you can see the Hacktoberfest values:

1.  Everyone is welcome
    
2.  Quantity is fun, but quality is key
    
3.  Short-term action, Long-term impact
    

Let’s make sure to put in some quality pull requests. We want to help out these repos that we are contributing to. The more we help out open source, the more impact the projects that we contribute to have on the world.

### How do I participate?

What do you have to do to participate? **You can register between September 26 and October 31**. You can make pull requests on any GitHub or GitLab hosted project that's participating in Hacktoberfest. Make sure that they have the Hacktoberfest topic on that repo.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/kLVuNnm4Xtu6tSdpSXw7-182.png)

The project maintainers have to accept your pull or merge requests. You have to have 4 pull merge requests accepted between October 1 and October 31 to complete Hacktoberfest.

### What do I get for participating in Hacktoberfest?

In addition to helping out the open source community, the first 40,000 participants are eligible to get:

*   A tree planted in their name
    
*   Or the Hacktoberfest 2022 T\-shirt
    

How to make a Pull Request on GitHub
------------------------------------

Let’s take a look at creating our first pull request. I will be using the Cloud Haiku repo. This is a repo we like to show off here at DigitalOcean. It’s a bunch of markdown files with haikus that people have created.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/jm8qDQS8ZTAhhWdK7CrZ-167.png)

It's a great starting repo to create a pull request on. Now to start off, whenever you find a GitHub repo that you want to contribute to that you think is a fantastic, **make sure that it has the “hacktoberfest” topic added to it.** Your contributions only count if the repo is labelled.

### Always check for Contributing docs

The number one thing that you need to do when you're contributing to open source projects is to see if there's any guide on contributing. You always want to make sure that your contributions to a project match what that project expects from you.

### Using the Cloud Haiku Repo

To contribute to this cloud haiku repo:

1.  We need to work in markdown with an `.md` file.
    
2.  Name our file the name of our haiku
    
3.  Put our haiku in the `_haikus` directory
    
4.  Write in Jekyll format
    

Writing our haiku
-----------------

Step one is to fork this repo. Forking this repo let’s us grab the code and add it to our own accounts so that we can make changes.

I'm going to click fork. 2,000 people have already forked this. I'm going to click Fork and we're going to call it Cloud haiku. Select an owner. I'm going to do this to my personal GitHub account. Copy the main branch only. I'll create the fork here.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/gs9V8dkEmNPxQ9TQAyAI-249.png)

Now you can see that this repo is in my account. Now that this repo is in our account, we can make changes because we have it.

### How to clone a repository

Let's get this code locally on our computers so that we can make changes to it. I'm going to click “**Code**” and there's three different ways to clone it. There's the:

*   https URL
    
*   SSH (what we’ll use)
    
*   GitHub CLI
    

I'm going to go ahead and use the SSH version. Any of these would work. I'm going to copy this and let's go open up my terminal. I'm going to type:

    git clone git@github.com:chris-sev/cloud_haiku.git

### Editing the Code

Now let's open up this repo in VS Code so that we can edit it, make some changes, and then finally create our pull request.

Let's go ahead and open this in code using the VS Code terminal shortcut.

    code cloud_haiku

We’ll create a file in the `_haikus` directory called `2022_my-code-doesnt-work.md`.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/HQpF6Zv1RIYVcRKC3ufN-366.png)

Now we need that little code snippet from the GitHub repo in the contributing section. Let's go over to VS code and we'll add the topper section and also write in our Haiku.

    ---
    layout: haiku
    title: My Code Doesn't Work
    author: Chris Sev
    ---
    
    What is happening?
    I typed it in correctly
    My code does not work

### Committing our new file with git

I'm going to click save. Now we need to commit this with git so that our GitHub repo knows that this is the file that we just created. Let's open up our terminal. Type in `git status` to see the file that we added needs to be staged.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/aIwzb1ikO7QUDp2vNxjC-435.png)

What has changed is one untracked file and this is the file that we just created. I need to do two things. I need to stage this change and to do that I'm going to type: 

```git add .``` 

I'm going to put a period which says all the files that are changed, let's add those and stage those. Now let's type `git status` and now changes to be committed.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/dNDB4D8T6lB3dkXxizCU-461.png)

So this is the one file that we want to change and commit to this repo. We're saying we want this change to persist. Now I'm going to type:

```
git commit -m 'my cloud haiku'
```

and we're going to add a message with `-m` and that's my message for what this commit is about.

So that means we can push this up to our GitHub repo now. I'm going to type: 

```
git push
```

Now all of our code has moved up to GitHub.com.

Creating the Pull Request
-------------------------

Let's go back over to the GitHub repo. There's a bunch of different ways to go create the pull request. We can go back to the original repo and then create it there. Or there's a nice handy little section in our repo. It will show us a **Contribute** button and show how many commits ahead of the forked repo we are.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/G6WvbpRp1K23943OoIXQ-543.png)

I can open this pull request from my forked repo and I'll click that to open a pull request. This sends us back to do-community/cloud\_haiku.

![](https://pub-982321b16d9741fb93d2e55ae15f51c8.r2.dev/demos/BiYGAeJsarJMrsjifAN1-573.png)

So any changes from this right here are getting brought over to the main cloud haiku main branch. This is how we can create code, write whatever we need to maybe fix some typos and then commit back to the original repo.

Now we just wait for the maintainers to either provide some feedback or they can write a comment and then we'll get notifications on it or merge the pull request.

That’s how you create a pull request!

Recap
-----

To recap, to create a pull request, you’ll need to:

1.  Fork the repo
    
2.  Add your own changes
    
3.  Commit and push your changes to your own repo
    
4.  Create the pull request from your repo to the main repo
    

I'm really excited about Hacktoberfest 2022. I hope you are as well. I hope you get in some great pull requests, you contribute some fantastic projects, and let's make open source as a whole more impactful.

Happy contributing!