Hacktoberfest, in its eight year, is a month-long celebration of open source software run by DigitalOcean. During the month of October, DigitalOcean invites everyone from open-source software enthusiasts to beginners to contribute to open-source projects. These contributions can be done in a variety of ways from preparing and sharing your project for collaboration to organizing an event to mentoring others to donating directly to open source projects to contributing to the betterment of a project via pull requests.
My favourite thing about Hacktoberfest is the Hacktoberfest value #2 (Quantity is fun, quality is key) which implies that quality trumps quantity. A dogma I also live by. I participated in the Hacktoberfest 2021 by contributing to the betterment of a project via pull requests. Before we go on with my first pull request, let’s discuss what version control is.
What is a version control system?
Version control systems are a category of software tools that helps in recording changes made to files by keeping a track of modifications done to the code. As we know that a software product is developed in collaboration by a group of developers they might be located at different locations and each one of them contributes in some specific kind of functionality/features. So in order to contribute to the product, they made modifications in the source code(either by adding or removing). A version control system is a kind of software that helps the developer team to efficiently communicate and manage(track) all the changes that have been made to the source code along with the information like who made and what change has been made.
What is Git?
Git is an Open Source Distributed Version Control System. This implies that Git has a remote repository which is stored in a server and a local repository which is stored in the computer of each developer. This means that the code is not just stored in a central server, but the full copy of the code is present in all the developers’ computers.
Now the biggest and most important step is picking the right project to contribute to. From micro libraries to full-featured frameworks, web to desktop applications, mobile apps to entire operating systems, the open-source community provides us with exceptional solutions and all thanks to people from all over the world who contribute with code, documentation, translations, etc. on 24/7. Depending on the maturity and complexity of a project, it may be hard for someone to start making contributions. Ideally, you would find a project suitable for your experience level and knowledge area. But how do you find a project then? Luckily for us, a few websites track projects that are known to be beginners friendly, and they do it in different ways, but they mostly focus on specific open tasks that are tagged by the maintenance team as such.
With all of them, you can apply filters to match the projects with your interests and expertise.
Procedures on making my first pull request
Forked the repository (Click the Fork button in the top right of this page, click your Profile Image)
Cloned the fork down to my local machine
git clone https://github.com/salimcodes/hacktoberfest.git
- Make your changes
- Commit and push
git add . git add [name_of_file]
After adding, there is no confirmation. It is however important to use the
git status code. This allows to see the status – it has been added but not committed.
git commit -m 'Commit message'
The commit message allows other developers know what the change is.
git push origin branch-name
- I then created a new pull request from your forked repository (Click the
New Pull Requestbutton located at the top of your repo)
- And finally, I am waiting for your PR review and merge approval!
Now, I wait and let the maintainers know I have made a change I am comfortable with. Whether it’s your first or fiftieth pull request, there's always more to learn!