Oice Hours + + (Git II) · React Native Package Managers Homebrew F. Open Source Projects Examples?...

Post on 30-May-2020

10 views 0 download

Transcript of Oice Hours + + (Git II) · React Native Package Managers Homebrew F. Open Source Projects Examples?...

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

Think Bigger...Linux

9 / 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