GITHUB AND
OPENSOURCE
By Kolawole Mangabo
INTRODUCTION TO GITHUB AND OPEN
SOURCE SOFTWARE
Agenda
● Birth and Rise of Open Source Software
● What is Git?
● Basics commands of Git
● GitHub
● Collaborations best practices with Git & GitHub
HI, I’M
KOLAWOLE,
Web Developer
BIRTH AND
RISE OF
OPEN
SOURCE
SOFTWARE
What is Open Source Software?
● Refer to a piece of Software both machine (object) and
human readable (source)
● Showed to the public on Internet and with few or no
restriction of reuse
Open Source History
● 1983: Launch of Project GNU by Richard Stallman
● Early 1990 : First Open Source Operating System
completely free (GNU/Linux)
Advantages of using OSS
● Access to code source
● Release cycles and bug fixes
● Security
What is Git?
What is Git?
● Most popular version control system
● Developed in 2005 by Linus Torvald and the Linux
community
Why use Git?
● Track the changes your make to files
● Revert to specific versions of your project
● Branching and Merge features
● Data Integrity
Basics Git
commands
Basics commands
● git init <name of the project>
● git clone <git:url>
● git add .
● git commit -am “message of commit”
Basics commands
● git push remote branch
● git pull remote branch
● git checkout branch | add -b to create a new branch
● git merge branch_to_merge
GitHub
GitHub
● Most used platform for OS projects
● More than 28M of users
● Good documentation
● Free with many features
● Integration options
GitHub
WALKTHROUGH
Collaborations
Best Practice
with Git-
GitHub
Commits
● Concise commit and clear messages
fixing issues fieldError because it affects the whole system
fixing issues fieldError
https://www.conventionalcommits.org/en/v1.0.0/
Push
● No push to master : NEVER
Neither no force push : rewrite history
Solution : git revert or git rm --cached
Pull
● pull rebase >>>>>> pull merge
Bad for the history : Messy graph
git pull --rebase=preserve
Conflicting Pull Request
● Grab the PR locally, merge and manually push
- git fetch origin refs/pull/23/head
- git checkout master
- git merge FETCH_HEAD
- Manually solve, add and commit
- git push origin branch
Issues
● Use predefined labels and alias code
Licenses
● No licenses is not “do what you want”
● Choose a license
● Read README.md and CONTRIBUTING.md
https://choosealicense.com/
GitHub Actions
● Make workflow automations easy
● Free plan
https://github.com/features/actions
@koladev32
@koladev
https://twitter.com/koladev32
https://medium.com/@koladev
onaelmangabo@gmail.com

Open source