SlideShare a Scribd company logo
Contributing to GitHub
Is For Everyone
Matthew Heusser
Chris Kenst
Spring OnlineTestConf
June 13, 2017
Introduction
Meta-Goal: Get you up and running on GitHub. Today. Serious.
Other Good Things and Side Benefits:
● Understand where configuration management comes from
● Be able to speak to a developer about branching, pipeline, merging strategy
● Have your own active GitHub account with meaningful commits tomorrow!
Watch and Learn
● We’re going to teach you how to do this as we go along.
● Here is what we recommend:
...
1. Watch us as we do the upcoming things
2. Reply the video, step along with us, pausing to do the things we are talking
about
...
Ready?
Demo Time!
Let’s do it first and explain it later.
Let’s Get it Started
Pre-requisites
1. You’ll need to have git installed locally
a. For Mac users, this comes installed with Xcode. Otherwise you can download it
b. For Windows users, download and install it: https://git-scm.com/downloads
c. Set your Username and Email address within git: https://help.github.com/articles/set-up-git/
i. The Username and Email will need to match the one you used for GitHub.com
2. Install a Text Editor
a. We’ll be using Atom (also built by GitHub) but feel free to Sublime Text or one of your favorites
b. Download Atom: https://atom.io/
Creating our first Project
1. Go to GitHub.com and sign up for a free account
2. We'll create a repository through the Web interface
a. Starting on the login page, clicking the green "+ New Repository" button at the middle right
b. Name your repository
c. Check the option for Initialize this repository with a README
d. Click Create Repository button
e. Boom. Your repo has been created
3. Download your code
a. Click the green “Clone or download button”
b. Copy the url of your repo
c. Switch to your command line and type `git clone + <url of repo>` and hit enter
4. Make an edit
a. Browse to your folder in the command line
b. Open an text editor within this repo (you can type `atom .` for mac to open Atom)
c. Go to your README.md file and add some text description. Then save.
5. Confirm our changes & commit them
a. Type `git status` (and press enter) to display a list of changes
b. Type `git add .` to add all of our changes to the index. This prepares our files to be committed
c. Type `git commit -m “description of change”` to commit the change
d. Great, now we’re ready to push our changes up to GitHub
6. PUSH your local changes
a. Type `git push origin <branch name>`
7. Confirm our changes are reflected on GitHub.com
Making changes to our Project with Branching
1. For each additional set of changes we’ll:
a. Create a branch,
b. make our changes,
c. commit our changes and then push them up in this new
branch.
2. Within our existing repo
a. Create a new branch `git checkout -b <branch name>`
b. This will automatically create and place us within our new
branch (not on master)
3. Same workflow as before:
a. Make an edit (see previous slide)
b. Confirm our changes and commit them
c. PUSH your local changes
4. Submit a Pull Request
a. Go to the Pull Request tab at the top
b. Click the green “New pull request” button
c. Set the base fork to master and the head fork to your branch
d. Add some text to the change
e. Create the Pull Request
5. Once the Pull Request is merged, your changes will be
in!
a. Merged to Master! (aka Production)
Contributing to an existing project
1. Go to GitHub.com and find a project that you have some interesting in helping
2. Fork the repository
a. In the upper right corner, click Fork. This will bring a copy of the repo into your account
3. Repeat everything we’ve already done
4. When you make your Pull Request
a. Set the base fork to the original repository and the head fork to your repository / branch
5. Once the Pull Request is merged, you are in!
Version Control & Configuration Mgmt
The WWII Tank Problem
More than code
● Checkout model
● Gave way to commit
● Gave way to push
Basic syntax:
git add file.txt
git commit file.txt
git push file.txt
What That Looks Like For Software
Why GitHub?
● Free public hosting of code repositories that include many tools:
● Really nice for open source code / projects
● GitHub offers a way to be techincal beyond writing code
● Learn the development workflow
● GitHub is the new linkedin
○ You are making a public portfolio
of work you can actually share
○ You can follow and be followed by
fellow GitHub users
○ Star other projects for later
Your Public Portfolio
GitHub for more than Code
● GitHub is great for all those prior reasons
● Once you understand the Git + GitHub workflow you can do so much more
than store code!
● For example...
Run a Website
● Jekyll based GitHub Pages
● Free hosting & domain
Write a Book (or Documentation)
● Write in GitHub
● Stylize and publish with
GitBook
Create Lists
● Lists are great for Data, Heuristics, Checklists, and more.
● Data:
○ Images
■ Catalog of images for Testing
○ Input Field values
■ Big List of Naught Strings
■ String, Integers, etc Lists
● Many lists turn into Lists of Lists...
Make Notes
● Create notes to help
you remember things.
● This note contains
guidelines on how to
write exploratory
testing charters ->
Help! What should I add?
● Configuration files (sometimes called dotfiles) to your favorite editors,
terminals, etc.
● Code or Markup Language
○ CSS files
○ Blog Code
○ Personal Projects (like Selenium Bootcamps, etc.)
○ Classes you take where you’ve written code
● Documents
○ Lists
○ Images
○ Articles
○ GitBook
Filing Bugs: GitHub Issues
● Don’t want to commit changes? File a bug on a project you enjoy (and follow)
● Bug Reports are the tester’s primary work product
○ If you can write them well, you can use them as examples in your portfolio
○ More importantly you can contribute by Testing a product
● GitHub Issues is a fully featured bug tracker with:
○ Title, Summary and Comment Fields
○ Assign Issues to team members
○ Apply Labels
○ Add to Projects
○ Add to Milestones
● Exercise: Open an issue on the repo you created
○ Either report a bug or create a task
Projects to Contribute To
● You want to contribute now but don’t know where to start?
○ Best bet is to look around and star things you like. Then begin using them and contribute when
you find problems or can offer suggestions.
● TestingConferences.org
○ This is a simple list of software testing conferences and workshops published collaboratively
with the testing community.
● Wordpress.com Desktop App
● Babel, Node / NPM, Rails
○ Many of these projects have labels for first time submitters. Using these labels will get you
better responses from the project’s members
More Please
Websites & Blogs powered by GitHub Pages:
● http://olivierlacan.com/
● http://jonallured.com/
● http://testingconferences.org/
● More help creating a GitHub blog: https://pages.github.com/
Lists:
● 9 GitHub Lists for Testing
● 18 GitHub Projects for Testing
More Continued
Code:
● Practice using Selenium Now!
Other References:
● How to Get Started with GitHub
Final Thoughts & Comments
Questions if we ran out of time? Go to Chris’s Ask Me Anything.
Get Stuck? Ask post-conference questions on The Creative Chaos Blog or on
slack!

More Related Content

What's hot

Introduction to GitHub (workshop)
Introduction to GitHub (workshop)Introduction to GitHub (workshop)
Introduction to GitHub (workshop)
Miquel Beltran Febrer
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
"FENG "GEORGE"" YU
 
Technical Seminar Series: GIT Pull Requests Best Practices
Technical Seminar Series:  GIT Pull Requests Best PracticesTechnical Seminar Series:  GIT Pull Requests Best Practices
Technical Seminar Series: GIT Pull Requests Best Practices
Singsys Pte Ltd
 
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal GargGitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
Nisha Garg
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
Wycliff1
 
Using the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketUsing the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to Bitbucket
Liam Dempsey
 
Learning GitHub Part 4
Learning GitHub Part 4Learning GitHub Part 4
Learning GitHub Part 4
Lynn Langit
 
Inside GitHub
Inside GitHubInside GitHub
Inside GitHub
err
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil Ali
AmilAli1
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
Nishan Bose
 
Git & Github
Git & GithubGit & Github
Git & Github
Aman Lalpuria
 
Meetup gitbook
Meetup gitbookMeetup gitbook
Meetup gitbook
Rebecca Peltz
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
Lorna Mitchell
 
Git for Beginners
Git for BeginnersGit for Beginners
Git for Beginners
Rick Umali
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
AshwinRaj57
 
Git and GitHub crash course
Git and GitHub crash courseGit and GitHub crash course
Git and GitHub crash course
Mireia Sangalo
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
Rolands Krumbergs
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
Majid Hosseini
 
Introduction to Github for Team Project
Introduction to Github for Team ProjectIntroduction to Github for Team Project
Introduction to Github for Team Project
Akhter Al Amin
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
Uri Goldstein
 

What's hot (20)

Introduction to GitHub (workshop)
Introduction to GitHub (workshop)Introduction to GitHub (workshop)
Introduction to GitHub (workshop)
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
Technical Seminar Series: GIT Pull Requests Best Practices
Technical Seminar Series:  GIT Pull Requests Best PracticesTechnical Seminar Series:  GIT Pull Requests Best Practices
Technical Seminar Series: GIT Pull Requests Best Practices
 
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal GargGitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
GitHub Classroom - An Open Source Learning Platform by Dr. Anchal Garg
 
Introduction to git and Github
Introduction to git and GithubIntroduction to git and Github
Introduction to git and Github
 
Using the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to BitbucketUsing the GitHub App to Connect to Bitbucket
Using the GitHub App to Connect to Bitbucket
 
Learning GitHub Part 4
Learning GitHub Part 4Learning GitHub Part 4
Learning GitHub Part 4
 
Inside GitHub
Inside GitHubInside GitHub
Inside GitHub
 
Github Case Study By Amil Ali
Github Case Study By Amil AliGithub Case Study By Amil Ali
Github Case Study By Amil Ali
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
Git & Github
Git & GithubGit & Github
Git & Github
 
Meetup gitbook
Meetup gitbookMeetup gitbook
Meetup gitbook
 
Git, GitHub and Open Source
Git, GitHub and Open SourceGit, GitHub and Open Source
Git, GitHub and Open Source
 
Git for Beginners
Git for BeginnersGit for Beginners
Git for Beginners
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Git and GitHub crash course
Git and GitHub crash courseGit and GitHub crash course
Git and GitHub crash course
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
 
Git and git workflow best practice
Git and git workflow best practiceGit and git workflow best practice
Git and git workflow best practice
 
Introduction to Github for Team Project
Introduction to Github for Team ProjectIntroduction to Github for Team Project
Introduction to Github for Team Project
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 

Similar to Contributing to github is for everyone

Git and git hub basics
Git and git hub basicsGit and git hub basics
Git and git hub basics
prostackacademy
 
Advance workshop on git
Advance workshop on gitAdvance workshop on git
Advance workshop on git
Himanshu Agrawal
 
Git/GitHub
Git/GitHubGit/GitHub
Git/GitHub
Cindy Royal
 
3DC Intro to Git Workshop
3DC Intro to Git Workshop3DC Intro to Git Workshop
3DC Intro to Git Workshop
BeckhamWee
 
Git Hub Platform
Git Hub PlatformGit Hub Platform
Git Hub Platform
Gaurav Ahluwalia
 
Using Git to Organize Your Project
Using Git to Organize Your ProjectUsing Git to Organize Your Project
Using Git to Organize Your Project
Manish Suwal 'Enwil'
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
聖文 鄭
 
A Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfA Tutorial for GitHub.pdf
A Tutorial for GitHub.pdf
badrfathallah2
 
A Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfA Tutorial for GitHub.pdf
A Tutorial for GitHub.pdf
Amarnadh36
 
GDSC Git event 2023.pptx
GDSC Git event 2023.pptxGDSC Git event 2023.pptx
GDSC Git event 2023.pptx
fsxflyer789Productio
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
Tilton2
 
Git and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slideGit and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slide
RaghavendraVattikuti1
 
Intro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucketIntro to Git, GitHub, and BitBucket
Git Tutorials Git vs GitHub.pptx
Git Tutorials Git vs GitHub.pptxGit Tutorials Git vs GitHub.pptx
Git Tutorials Git vs GitHub.pptx
DevOps University
 
Using git hub for your code
Using git hub for your codeUsing git hub for your code
Using git hub for your code
Osama Mustafa
 
Git and Github.pptx
Git and Github.pptxGit and Github.pptx
Git and Github.pptx
Hitesh670643
 
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Daniel Katz
 
16 Git
16 Git16 Git
Version control git day02
Version control   git day02Version control   git day02
Version control git day02
Gourav Varma
 
Github 101 An Adventurer's Guide To Open Source
Github 101   An Adventurer's Guide To Open SourceGithub 101   An Adventurer's Guide To Open Source
Github 101 An Adventurer's Guide To Open Source
Prachitibhukan
 

Similar to Contributing to github is for everyone (20)

Git and git hub basics
Git and git hub basicsGit and git hub basics
Git and git hub basics
 
Advance workshop on git
Advance workshop on gitAdvance workshop on git
Advance workshop on git
 
Git/GitHub
Git/GitHubGit/GitHub
Git/GitHub
 
3DC Intro to Git Workshop
3DC Intro to Git Workshop3DC Intro to Git Workshop
3DC Intro to Git Workshop
 
Git Hub Platform
Git Hub PlatformGit Hub Platform
Git Hub Platform
 
Using Git to Organize Your Project
Using Git to Organize Your ProjectUsing Git to Organize Your Project
Using Git to Organize Your Project
 
Brief tutorial on Git
Brief tutorial on GitBrief tutorial on Git
Brief tutorial on Git
 
A Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfA Tutorial for GitHub.pdf
A Tutorial for GitHub.pdf
 
A Tutorial for GitHub.pdf
A Tutorial for GitHub.pdfA Tutorial for GitHub.pdf
A Tutorial for GitHub.pdf
 
GDSC Git event 2023.pptx
GDSC Git event 2023.pptxGDSC Git event 2023.pptx
GDSC Git event 2023.pptx
 
Git and Github slides.pdf
Git and Github slides.pdfGit and Github slides.pdf
Git and Github slides.pdf
 
Git and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slideGit and Github workshop ppt slide by slide
Git and Github workshop ppt slide by slide
 
Intro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucketIntro to Git, GitHub, and BitBucket
Intro to Git, GitHub, and BitBucket
 
Git Tutorials Git vs GitHub.pptx
Git Tutorials Git vs GitHub.pptxGit Tutorials Git vs GitHub.pptx
Git Tutorials Git vs GitHub.pptx
 
Using git hub for your code
Using git hub for your codeUsing git hub for your code
Using git hub for your code
 
Git and Github.pptx
Git and Github.pptxGit and Github.pptx
Git and Github.pptx
 
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
Legal Analytics Course - Class #4 - Github and RMarkdown Tutorial - Professor...
 
16 Git
16 Git16 Git
16 Git
 
Version control git day02
Version control   git day02Version control   git day02
Version control git day02
 
Github 101 An Adventurer's Guide To Open Source
Github 101   An Adventurer's Guide To Open SourceGithub 101   An Adventurer's Guide To Open Source
Github 101 An Adventurer's Guide To Open Source
 

More from Matt Heusser

Do you even need to automate the GUI?
Do you even need to automate the GUI? Do you even need to automate the GUI?
Do you even need to automate the GUI?
Matt Heusser
 
How To Talk About Coverage
How To Talk About CoverageHow To Talk About Coverage
How To Talk About Coverage
Matt Heusser
 
Agile Test Evolution: Changing Test Strategy Over Time
Agile Test Evolution: Changing Test Strategy Over TimeAgile Test Evolution: Changing Test Strategy Over Time
Agile Test Evolution: Changing Test Strategy Over Time
Matt Heusser
 
Who needs an estimate
Who needs an estimateWho needs an estimate
Who needs an estimate
Matt Heusser
 
Reduce Test Cost On Monday
Reduce Test Cost On MondayReduce Test Cost On Monday
Reduce Test Cost On Monday
Matt Heusser
 
Let's Test Together by Justin Hunter
Let's Test Together by Justin HunterLet's Test Together by Justin Hunter
Let's Test Together by Justin Hunter
Matt Heusser
 
Testing The User Centric Web
Testing The User Centric WebTesting The User Centric Web
Testing The User Centric Web
Matt Heusser
 
Is Agile Better
Is Agile BetterIs Agile Better
Is Agile Better
Matt Heusser
 
Xi Cio
Xi CioXi Cio
Xi Cio
Matt Heusser
 
Case Study: Priority Health IT Alignment
Case Study: Priority Health IT AlignmentCase Study: Priority Health IT Alignment
Case Study: Priority Health IT Alignment
Matt Heusser
 

More from Matt Heusser (10)

Do you even need to automate the GUI?
Do you even need to automate the GUI? Do you even need to automate the GUI?
Do you even need to automate the GUI?
 
How To Talk About Coverage
How To Talk About CoverageHow To Talk About Coverage
How To Talk About Coverage
 
Agile Test Evolution: Changing Test Strategy Over Time
Agile Test Evolution: Changing Test Strategy Over TimeAgile Test Evolution: Changing Test Strategy Over Time
Agile Test Evolution: Changing Test Strategy Over Time
 
Who needs an estimate
Who needs an estimateWho needs an estimate
Who needs an estimate
 
Reduce Test Cost On Monday
Reduce Test Cost On MondayReduce Test Cost On Monday
Reduce Test Cost On Monday
 
Let's Test Together by Justin Hunter
Let's Test Together by Justin HunterLet's Test Together by Justin Hunter
Let's Test Together by Justin Hunter
 
Testing The User Centric Web
Testing The User Centric WebTesting The User Centric Web
Testing The User Centric Web
 
Is Agile Better
Is Agile BetterIs Agile Better
Is Agile Better
 
Xi Cio
Xi CioXi Cio
Xi Cio
 
Case Study: Priority Health IT Alignment
Case Study: Priority Health IT AlignmentCase Study: Priority Health IT Alignment
Case Study: Priority Health IT Alignment
 

Recently uploaded

Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
jrodriguezq3110
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
Anand Bagmar
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Peter Caitens
 
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
dhavalvaghelanectarb
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Cost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App DevelopmentCost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App Development
Softradix Technologies
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
Jhone kinadey
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdfSoftware Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
kalichargn70th171
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
ervikas4
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
kalichargn70th171
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
kalichargn70th171
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
Paul Brebner
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 

Recently uploaded (20)

Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
Streamlining End-to-End Testing Automation
Streamlining End-to-End Testing AutomationStreamlining End-to-End Testing Automation
Streamlining End-to-End Testing Automation
 
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom KittEnhanced Screen Flows UI/UX using SLDS with Tom Kitt
Enhanced Screen Flows UI/UX using SLDS with Tom Kitt
 
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024Flutter vs. React Native: A Detailed Comparison for App Development in 2024
Flutter vs. React Native: A Detailed Comparison for App Development in 2024
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Cost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App DevelopmentCost-Effective Strategies For iOS App Development
Cost-Effective Strategies For iOS App Development
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
Boost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management AppsBoost Your Savings with These Money Management Apps
Boost Your Savings with These Money Management Apps
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdfSoftware Test Automation - A Comprehensive Guide on Automated Testing.pdf
Software Test Automation - A Comprehensive Guide on Automated Testing.pdf
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptxMigration From CH 1.0 to CH 2.0 and  Mule 4.6 & Java 17 Upgrade.pptx
Migration From CH 1.0 to CH 2.0 and Mule 4.6 & Java 17 Upgrade.pptx
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
What is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdfWhat is Continuous Testing in DevOps - A Definitive Guide.pdf
What is Continuous Testing in DevOps - A Definitive Guide.pdf
 
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
The Power of Visual Regression Testing_ Why It Is Critical for Enterprise App...
 
Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...Superpower Your Apache Kafka Applications Development with Complementary Open...
Superpower Your Apache Kafka Applications Development with Complementary Open...
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 

Contributing to github is for everyone

  • 1. Contributing to GitHub Is For Everyone Matthew Heusser Chris Kenst Spring OnlineTestConf June 13, 2017
  • 2. Introduction Meta-Goal: Get you up and running on GitHub. Today. Serious. Other Good Things and Side Benefits: ● Understand where configuration management comes from ● Be able to speak to a developer about branching, pipeline, merging strategy ● Have your own active GitHub account with meaningful commits tomorrow!
  • 3. Watch and Learn ● We’re going to teach you how to do this as we go along. ● Here is what we recommend: ... 1. Watch us as we do the upcoming things 2. Reply the video, step along with us, pausing to do the things we are talking about ... Ready?
  • 4. Demo Time! Let’s do it first and explain it later.
  • 5. Let’s Get it Started Pre-requisites 1. You’ll need to have git installed locally a. For Mac users, this comes installed with Xcode. Otherwise you can download it b. For Windows users, download and install it: https://git-scm.com/downloads c. Set your Username and Email address within git: https://help.github.com/articles/set-up-git/ i. The Username and Email will need to match the one you used for GitHub.com 2. Install a Text Editor a. We’ll be using Atom (also built by GitHub) but feel free to Sublime Text or one of your favorites b. Download Atom: https://atom.io/
  • 6. Creating our first Project 1. Go to GitHub.com and sign up for a free account 2. We'll create a repository through the Web interface a. Starting on the login page, clicking the green "+ New Repository" button at the middle right b. Name your repository c. Check the option for Initialize this repository with a README d. Click Create Repository button e. Boom. Your repo has been created 3. Download your code a. Click the green “Clone or download button” b. Copy the url of your repo c. Switch to your command line and type `git clone + <url of repo>` and hit enter
  • 7. 4. Make an edit a. Browse to your folder in the command line b. Open an text editor within this repo (you can type `atom .` for mac to open Atom) c. Go to your README.md file and add some text description. Then save. 5. Confirm our changes & commit them a. Type `git status` (and press enter) to display a list of changes b. Type `git add .` to add all of our changes to the index. This prepares our files to be committed c. Type `git commit -m “description of change”` to commit the change d. Great, now we’re ready to push our changes up to GitHub 6. PUSH your local changes a. Type `git push origin <branch name>` 7. Confirm our changes are reflected on GitHub.com
  • 8. Making changes to our Project with Branching 1. For each additional set of changes we’ll: a. Create a branch, b. make our changes, c. commit our changes and then push them up in this new branch. 2. Within our existing repo a. Create a new branch `git checkout -b <branch name>` b. This will automatically create and place us within our new branch (not on master) 3. Same workflow as before: a. Make an edit (see previous slide) b. Confirm our changes and commit them c. PUSH your local changes
  • 9. 4. Submit a Pull Request a. Go to the Pull Request tab at the top b. Click the green “New pull request” button c. Set the base fork to master and the head fork to your branch d. Add some text to the change e. Create the Pull Request 5. Once the Pull Request is merged, your changes will be in! a. Merged to Master! (aka Production)
  • 10. Contributing to an existing project 1. Go to GitHub.com and find a project that you have some interesting in helping 2. Fork the repository a. In the upper right corner, click Fork. This will bring a copy of the repo into your account 3. Repeat everything we’ve already done 4. When you make your Pull Request a. Set the base fork to the original repository and the head fork to your repository / branch 5. Once the Pull Request is merged, you are in!
  • 11. Version Control & Configuration Mgmt The WWII Tank Problem More than code
  • 12. ● Checkout model ● Gave way to commit ● Gave way to push Basic syntax: git add file.txt git commit file.txt git push file.txt What That Looks Like For Software
  • 13. Why GitHub? ● Free public hosting of code repositories that include many tools: ● Really nice for open source code / projects ● GitHub offers a way to be techincal beyond writing code ● Learn the development workflow
  • 14. ● GitHub is the new linkedin ○ You are making a public portfolio of work you can actually share ○ You can follow and be followed by fellow GitHub users ○ Star other projects for later Your Public Portfolio
  • 15. GitHub for more than Code ● GitHub is great for all those prior reasons ● Once you understand the Git + GitHub workflow you can do so much more than store code! ● For example...
  • 16. Run a Website ● Jekyll based GitHub Pages ● Free hosting & domain
  • 17. Write a Book (or Documentation) ● Write in GitHub ● Stylize and publish with GitBook
  • 18. Create Lists ● Lists are great for Data, Heuristics, Checklists, and more. ● Data: ○ Images ■ Catalog of images for Testing ○ Input Field values ■ Big List of Naught Strings ■ String, Integers, etc Lists ● Many lists turn into Lists of Lists...
  • 19. Make Notes ● Create notes to help you remember things. ● This note contains guidelines on how to write exploratory testing charters ->
  • 20. Help! What should I add? ● Configuration files (sometimes called dotfiles) to your favorite editors, terminals, etc. ● Code or Markup Language ○ CSS files ○ Blog Code ○ Personal Projects (like Selenium Bootcamps, etc.) ○ Classes you take where you’ve written code ● Documents ○ Lists ○ Images ○ Articles ○ GitBook
  • 21. Filing Bugs: GitHub Issues ● Don’t want to commit changes? File a bug on a project you enjoy (and follow) ● Bug Reports are the tester’s primary work product ○ If you can write them well, you can use them as examples in your portfolio ○ More importantly you can contribute by Testing a product ● GitHub Issues is a fully featured bug tracker with: ○ Title, Summary and Comment Fields ○ Assign Issues to team members ○ Apply Labels ○ Add to Projects ○ Add to Milestones ● Exercise: Open an issue on the repo you created ○ Either report a bug or create a task
  • 22. Projects to Contribute To ● You want to contribute now but don’t know where to start? ○ Best bet is to look around and star things you like. Then begin using them and contribute when you find problems or can offer suggestions. ● TestingConferences.org ○ This is a simple list of software testing conferences and workshops published collaboratively with the testing community. ● Wordpress.com Desktop App ● Babel, Node / NPM, Rails ○ Many of these projects have labels for first time submitters. Using these labels will get you better responses from the project’s members
  • 23. More Please Websites & Blogs powered by GitHub Pages: ● http://olivierlacan.com/ ● http://jonallured.com/ ● http://testingconferences.org/ ● More help creating a GitHub blog: https://pages.github.com/ Lists: ● 9 GitHub Lists for Testing ● 18 GitHub Projects for Testing
  • 24. More Continued Code: ● Practice using Selenium Now! Other References: ● How to Get Started with GitHub
  • 25. Final Thoughts & Comments Questions if we ran out of time? Go to Chris’s Ask Me Anything. Get Stuck? Ask post-conference questions on The Creative Chaos Blog or on slack!