Post on 30-May-2020
O�ice Hours ++ (Git II)
Pat Pannuto / Slides by Tarun Khubchandani 1 / 28
Open Source Projects
2 / 28
Open Source ProjectsExamples?
3 / 28
Open Source ProjectsExamples?Programming Languages/Frameworks
RustSwiftReact Native
4 / 28
Open Source ProjectsExamples?Programming Languages/Frameworks
RustSwiftReact Native
Package ManagersHomebrew
5 / 28
Open Source ProjectsExamples?Programming Languages/Frameworks
RustSwiftReact Native
Package ManagersHomebrew
UtilitiesTensorflow
6 / 28
Open Source ProjectsExamples?Programming Languages/Frameworks
RustSwiftReact Native
Package ManagersHomebrew
UtilitiesTensorflow
WebsitesC4CS
7 / 28
Think Bigger...
8 / 28
Okay... but really, what is it?
10 / 28
Okay... but really, what is it?Software with source code made available topublic
Generally with a specific license
11 / 28
Okay... but really, what is it?Software with source code made available topublic
Generally with a specific license
Commonly associated with community drivendevelopment (enter Git)
Git allows for easy collaborationVersion control and release handling
12 / 28
Okay... but really, what is it?Software with source code made available topublic
Generally with a specific license
Commonly associated with community drivendevelopment (enter Git)
Git allows for easy collaborationVersion control and release handling
Allows customization of applications for widerusage
13 / 28
Cool. Why should I contribute?
14 / 28
Cool. Why should I contribute?Community Driven Development helpseveryone using a piece of software
Build something that's useful to othersSuggest ideas for useful features
15 / 28
Cool. Why should I contribute?Community Driven Development helpseveryone using a piece of software
Build something that's useful to othersSuggest ideas for useful features
Personal Bene�tsLearn new skillsCommunity recognition(Looks great on your resume!)
16 / 28
Cool. Why should I contribute?Community Driven Development helpseveryone using a piece of software
Build something that's useful to othersSuggest ideas for useful features
Personal Bene�tsLearn new skillsCommunity recognition(Looks great on your resume!)
It's Fun!There's a project for pretty much everything
17 / 28
Enough talking.Let's do something cool.
18 / 28
How to contribute1. Fork the repository you want to contribute to
19 / 28
How to contribute1. Fork the repository you want to contribute to
2. Clone your forked repositoryUse either HTTPS or SSH remote URL
20 / 28
How to contribute1. Fork the repository you want to contribute to
2. Clone your forked repository
3. Create an issue/take ownership of an existing issueDo this in the parent repository, not your fork
21 / 28
How to contribute1. Fork the repository you want to contribute to
2. Clone your forked repository
3. Create an issue/take ownership of an existing issue
4. Create a branch locally and setup environmentIn the directory of your local repository:
$ git checkout -b <feature-name>
Then follow setup instructions in the README.md
22 / 28
How to contribute1. Fork the repository you want to contribute to
2. Clone your forked repository
3. Create an issue/take ownership of an existing issue
4. Create a branch locally and setup environment
5. Do cool stu�. Make some commits.
23 / 28
How to contribute1. Fork the repository you want to contribute to
2. Clone your forked repository
3. Create an issue/take ownership of an existing issue
4. Create a branch locally and setup environment
5. Do cool stu�. Make some commits.
6. Push your changes to your remote
$ git status
$ git add <files>
$ git commit -m "<Descriptive commit message>"
$ git push --set-upstream origin <feature-name>
24 / 28
How to contribute1. Fork the repository you want to contribute to
2. Clone your forked repository
3. Create an issue/take ownership of an existing issue
4. Create a branch locally and setup environment
5. Do cool stu�. Make some commits.
6. Push your changes to your remote
7. Create a Pull Request from your fork(We'll walk through this one)
25 / 28
Congratulations!You've just joined the open source community
26 / 28
I'm lost, what just happened?What We Did:
Built a new feature on a software shipped to hundreds of peopleWorked collaboratively on an international project(Hopefully) Learned something new
27 / 28
I'm lost, what just happened?What We Did:
Built a new feature on a software shipped to hundreds of peopleWorked collaboratively on an international project(Hopefully) Learned something new
Stop Speaking Greek to meDon't worry, most Git users don't really know what's going on when they'reusing Git. If you're looking to brush up, the following resources may behelpful:
Understanding the Github FlowLearn Enough Git to Be Dangerous
28 / 28