Collaborating with Git

Git is an awesome collaboration technology, and GitHub is an incredibly effective way to develop projects together. GitHub provides a place for anyone in the world with internet access to share their thoughts and code for free. We know how to use Git and some of the basic collaboration steps using GitHub, but how do we join and contribute to a project? Sure, we would like to give back to these open source projects that have given us so much, but how do we get started? 

In this section, we'll look at some of the things to know about software-development collaboration using Git and GitHub:

  • Start small: One of the most important things to understand is the role we can play within a team. We might be awesome at network engineering but a mediocre Python developer. There are plenty of things we can do that don't involve being a highly-skilled developer. Don't be afraid to start small, documentation and testing are two good ways to get your foot in the door as a contributor. 
  • Learn the ecosystem: With any project, large or small, there is a set of conventions and a culture that has been established. We are all drawn to Python for its easy-to-read syntax and beginner-friendly culture; they also have a development guide that is centered around that ideology (https://devguide.python.org/). The Ansible project, on the other hand, also has an extensive community guide (https://docs.ansible.com/ansible/latest/community/index.html). It includes the code of conduct, the pull request process, how to report bugs, and the release process. Read these guides and learn the ecosystem for the project of interest. 
  • Make a branch: I have made the mistake of forking a project and making a pull request for the main branch. The main branch should be left alone for the core contributors to make changes to. We should create a separate branch for our contribution and allow the branch to be merged at a later date. 
  • Keep forked repository synchronized: Once you have forked a project, there is no rule that forces the cloned repository to sync with the main repository. We should make a point to regularly do git pull (get the code and merge locally) or git fetch (get the code with any change locally) to make sure we have the latest copy of the main repository. 
  • Be friendly: Just as in the real world, the virtual world has no place for hostility. When discussing an issue, be civil and friendly, even in disagreements. 

Git and GitHub provide a way for any motivated individual to make a difference by making it easy to collaborate on projects. We are all empowered to contribute to any open source or private projects that we find interesting. 

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset