Bits and pieces
We are almost done with the course! you have now a good starter knowledge for your git journey. However, would you be surprised that what this course covers is around 10% of all the features of Github?
Here are some teasers for what else is possible with Github:
Publishing on Github
This website is hosted on github, using Quarto in RStudio and Netlify, a free web hosting service. Other options to publish via github are Jupyterbook, which can be hosted via github pages or also via Netlify. The Turing way book uses the second option (Jupyterbook & Netlify). An even more integrated option is Gitbook.
Contributing to open source
While most people think that open source projects are only for developers, this is only half of the truth. Documentation, thus writing text for (non)-technical audiences about (non)technical topics, is equally part of the open source effort. The Google season of Docs is a documentation focused equivalent to the Google Summer of Code with the aim to support open source collaboration with technical writers.
Good git practices
- Make small changes, commit frequently and write good commit messages.
- One issue, one branch, one PR. Create an issue about an outstanding feature. Link a branch to work on that feature to the issue and then submit a PR with the fix, also linked to the issue.
- Be nice and polite when collaborating.
- Avoid committing directly into the main branch. Better: Have feature branches and a dev branch to test your commits. This is especially true when making PRs to foreign repositories. PRs to the main branch are rarely accepted
- Look for “good first issues” for beginners.
- Assign several reviewers for PRs.
- Never merge your own PRs.
Resources
Hacktoberfest- look for good first issues.
Awesome for beginners: A list of beginner-friendly projects on git.
The Turing Way Book - Book Dashes: Beginner friendly code and documentation sprints on a book for reproducible work flows, in a lovely community.
Git and Github for librarians by Data Carpentries -uses the command line.