

To configure your sign-off identity, run:Ĭreate a “home base” branch to track changes on the main project Configuring your username and email can save you time with this step later. When you open a PR for an open source project, you will likely need to “sign off” your commit.

Git config is a tool that sets general Git configuration options and, more specifically, can help you customize your identity.
#Git config how to
Check out articles on generating a new SSH key and adding a new SSH key to your GitHub account to learn how to do this. GitHub’s documentation around how to do this is great. While it’s not required to have an SSH key registered with GitHub, it can make your development workflow easier and more secure. If you’re unsure and want to browse around, take a look at GitHub’s #good-first-issue tag or the Good First Issue project page for a list of projects with beginner-level work. The very first step in setting up your development environment is to pick the project you want to contribute to. Also note that while Git contains a multitude of intricacies, I try to keep the instructions as high level as I can.
#Git config code
These instructions assume that you have a GitHub account, the git package installed in your development environment, and access to a command line shell (the one included in Visual Studios Code will work just fine). Contributors suggest changes to the project by opening PRs for maintainers to review and ultimately merge to the project’s code base. They are the final reviewers of pull requests (PRs) and ultimately responsible for the code that gets merged to the project.Ĭontributors commit to the project in the form of documentation, code review, debug, or code contributions. Maintainers are the project leaders and responsible for the overall health and direction of a project. The nature of these factors will determine how to pick the project you want to contribute to, but most projects will generally follow a maintainer/contributor model. Open source projects will vary in scope, size, and complexity. However, you don’t need to be an expert in Git to be successful contributing to open source. While the GitHub webUI is fairly intuitive, Git command line operation and dexterity is not. The good news is that by the end of reading this article you won’t have to go through the same struggles I did.Ĭonfiguring your Git development environment properly is the best way to avoid frustration as an open source contributor. I ended up closing the pull request, re-cloning my fork, and opening an entirely new pull request 🤦♀️.
#Git config update
I still remember being asked to update one of my first PRs and, despite my best efforts searching all corners of the internet, I couldn’t figure out how to do it. This comes as no surprise to me because when I first started contributing to open source, the hardest part of getting started was trying to understand how I could make Git do what I needed it to.

While opening a new pull request (PR) is a fairly straightforward process, updating that same PR can be difficult if your repository is not set up properly. The biggest barrier to entry I’ve seen is the Git workflow surrounding opening and updating a pull request. In fact, Tern gets lots of Python programmers who know what changes are required in the code. In my two years as an open source maintainer, I have found that the biggest barrier for newcomers participating in open source is not actually the coding part.

Challenging the expectations of open source
