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!
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:
a) 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.
b) 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.
1. Let’s get started, just go to this link:
2. And click start hacking.
3. Next, log in through your GitHub account and fill in the basic details and boom! You are in for the competition.
4. Now head over to your GitHub account.
5. 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.
6. You just need to make 4 PRs to be eligible for the contest.
You can add comments to a file, make a new file in repository or even just create a new file in the forked repository. All this counts. After doing any of these you just need to make a Pull Request and that's it. You may find it difficult to do it. So, head over to this video and watch it till the end. It clearly shows how to do this.
If you want you can fork my hacktoberfest repository and make a PR. It will be accepted within 24hrs.
Link for my repository:
One last point, after making 4 PRs, you will be in a 7 days review period where your PR will be reviewed by maintainers and if they are invalid then you need to make another PR.
Any doubts ping me up anytime in contact form and those who know me personally can directly message me anytime.
Here is my confirmation after 4 review period: