How to Participate in Hacktoberfest?
It’s been a long time I haven’t written about technologies and what’s the best time when hacktoberfest is around the corner and everyone is buzzing about it. So today I will discuss what is hacktoberfest, its scope and how it helps beginners to start contributing to open source. But the major prerequisite of this contest is Git. So, let’s jump into the basics of Git.
(if you’re already aware of Git then directly jump to Hacktoberfest section)
What is Git?
Suppose you and your group of friends are working on a project. Someone would be working on database, another on GUI (Graphical user interface) and few in backend. Ultimately you need to merge your code and test it for errors. How will you share code with each other? Sending it in text format is not a good idea, also how will you keep track of changes made in source file? And one more concern is that when a project is a big one then who will you check that someone is actually doing contributions or not?
Here comes Git in rescue. Developed by Linus Torvalds, Git is a distributed version control system for tracking changes in source code during software development. It is designed for coordinating work among programmers, but it can be used to track changes in any set of files.
One major myth I need to clear is that Git and GitHub are two different things! Git is the technology or the set of tools which manage the source code. GitHub is the online platform based on Git and provides various functions useful for programmer. It’s not a compulsion to use GitHub. We have other platforms like GitLab and Bit-Bucket which work on Git and provides additional features. GitLab has more developers’ options and Bit-Bucket provides free private repositories. But the most popular of them is GitHub and for hacktoberfest, we will be using GitHub.
Confusing huh? It’s rather not!
Some terminologies
1. Version Control
Suppose you are working on a project and you made some changes in the source code and named that version of code as v1.0. Now after some time you did some changes to the code and released another version v1.1. But developing v1.2 you realized that you need some functionalities of v1.1. Here Git comes in rescue as it maintains all versions of the source code and you can switch to ay version anytime. There are two types of version control:
-
Central Version Control System: As the name suggests, there is only one single copy of the project stored in a central server. Any changes made on this are final.
-
Distributed Version Control System: In this system, each of the members have their own copy of the project locally as well as online. Git is based on Distributed Version Control System.
2. Branch
When you are working on a project, you may want to work on separate features and for that purpose you can create a branch of the project and do your changes
3. Repository
It is a folder on your online platform. Like Window/ Mac have folders on drive, these platforms have repositories. You can create, modify and delete your repository.
4. Forking
When you have decided to contribute to a specific project, then you need to fork it onto your repository. It basically means creating a copy of the project on your side and modifying it locally.
5. Pull request
When you are sure about the modifications done in the source code, then you need to create a pull request. It means you want your modifications to be included in the master branch of the source code.
6. Commit
It means when you are done with the changes and you want to save your changes to the local repository.
I think now you have a basic understanding of Git. Now we proceed with the hacktoberfest. Hacktoberfest is a month-long event to celebrate open source contributions presented by Digital Ocean and DEV. It is the easiest way to get into open source.
-
Let’s get started, just go to this link: https://hacktoberfest.digitalocean.com/
-
And click start hacking.
-
Next, log in through your GitHub account and fill in the basic details and boom! You are in for the competition.
-
Now head over to your GitHub account.
-
For this contest, you need to make at least 4 valid pull request. You can choose any type of contribution from C language to Pearl, react, etc.
-
You just need to make 4 PRs to be eligible for the contest.