SlideShare a Scribd company logo
1 of 52
Download to read offline
Using GitHub for Enterprise and Open
Source Documentation
Lynda O’Leary
LavaCon, May 2017
@olearylynda
About me
@olearylynda
Agenda
Introduction to Git and GitHub
Adapting your documentation workflow
Contributing to open source documentation
Q&A
Environment
What do we need?
Small chunks
Topic orientated
Single-source
Various outputs
Technical reviews
Peer reviews
Maintain quality
Collaborative Tools
MadCap Flare MadCap Flare
SVN Git
Planning tool
Why Git?
Lightweight branching
● Isolate workspace
Decentralized model
● Perform VCS operations with no remote connection.
Git versus Traditional VCS
GIT Traditional VCS
● Snapshot of a miniature
filesystem
● Distributed version control
system
● Perform commits and
merges on your local
● Push changes to central
server
● Set of files
● Centralized version control
system
● Changes made to each file
over time
Install Git
● Command line - all platforms
● Desktop client
1. Download Git https://git-scm.com/downloads.
2. Set username and email address.
3. Authentication - HTTPS/SSH
Why GitHub?
● Fast
● Multiple users
● Built in reviews
● Powerful search
● Secure
● User Management
● Issue tracker
● Integrations
GitHub
➔ Hosts Git repositories
➔ Central point of collaboration
◆ clone other projects
◆ submit pull requests
➔ Area for networking
◆ build a profile
◆ upload and share projects
◆ connect with contributors
➔ Sign-up https://github.com/.
Terminology
Repository - contains your project files.
Fork
A copy of a repository.
Branch
Use branches to work on different versions of a repository at one time.
Commit
● Save changes to your branch
● Small commits
● Shows history of work and commit message
● Commit often
● Commit completed work
● Write good commit messages
Commit messages
Pull Request
● Method of notifying project maintainers about your changes
● Open at any time during development (get discussion started)
Merge
Merges changes into master.
GitHub Flow
➔ Fork the project you want to contribute to
➔ Create a branch
◆ your own area
◆ changes don’t affect master branch
➔ Add commits
◆ changes to your branch (add, edit, or delete a file)
◆ history of work and commit message
➔ Open a Pull Request
◆ method of notifying project maintainers about your changes
◆ open at any time during development (get discussion started)
➔ Discuss and Review PR
➔ Merge PR to master
Clone
Downloads a copy to your local computer.
Useful commands
➔ git status
➔ git log
➔ git blame
➔ git bisect
➔ git checkout <branch>
➔ git branch
➔ git rm <file>
➔ git fetch
➔ git push
➔ git pull
GitHub Integrations
Continuous Integration
Communication
Editor
Markdown
● Simple format
● .md file
● Text editor - Atom, Sublime
https://guides.github.com/features/mastering-markdown/
What did I learn?
● Agree on a workflow
● Implement in stages
● Collaboration increased
● Easier to track issues
● Same tools made it easier for reviews
● Treated docs like code
● Visibility
Storing your content
● Repo only for docs
● Store docs in with code
○ Standardize docs folder in project
● Include Readme file
● Include .gitignore file
● Only migrate the content you need
● Add wikis to your repo https://github.com/showcases/projects-with-great-wikis
Using branches
● Work in your own workspace without disruption
● Define branch naming
● Short lived
● Branch > tag > roll back
Reviewing content
● @mention
● Never merge your own PR
● Be respectful
● Follow the defined workflow
● Reward people for their work
Publishing your content
● Release tagging
● Discuss a workflow that works for your team
● Automate
Managing your work
● Use gists
● Use project boards
● Add milestones
● Look at metrics
Using issues
Track updates
Report changes
Suggest improves
Monitor progress
Creating labels
Color code
Identify level of difficulty
Include area of work
Add issue type
Reviewing Metrics
Who is contributing?
Reviewing Metrics
Timeline of commits
Reviewing Metrics
Code Frequency and traffic
Increasing the feedback cycle
Issues - create and review
Labels - create meaningful names for all levels
@mention - provide clear feedback, comment in conversations
Add to backlog and implement changes
What do we need to improve?
Localization - working with siloed teams?
Peer reviews - where to fit in?
Doc workflow - intent to deliver but sometimes fall behind?
Software/doc workflow - alignment to deliver on time.
Examples of best practice and contributing guides
https://symfony.com/doc/current/contributing/documentation/overview.html
https://help.github.com/articles/setting-guidelines-for-repository-contributors/
Cultural Change
Continuous Integration/Continuous Delivery
Next steps to ensure quality:
● Automate Builds
● Automate Tests
● Automate Deploy
GitHub Pages
● Static site hosting service
● Hosted from your GitHub repo
● username.github.io
● Select a theme
● Add custom domain
More information: https://pages.github.com/
Contributing to open source
● Wide variety of projects
● Range of tools
● Difficult to find easy issues for beginners
● New method of communicating
● Uncertainty of the process
Open source is for everyone
➔ Triage
➔ Technical Writers
➔ QA
➔ Community Managers
➔ UX experts
➔ Software Engineers
➔ Recruitment
Benefits of contributing to open source
➔ Visibility to employers
➔ History of your work
➔ Shows you have an interest
➔ Learn new skills
Your GitHub profile is more important than your
LinkedIn profile, to companies you actually want
to work for
Your GitHub Profile is your public portfolio
Search for a project
➔ Aligns to your interests
➔ Communicate with the community
➔ Read the guidelines
➔ Respect contributors
➔ Volunteer to help
How to start contributing?
● Find a small project
● Read the Readme file
a. information about the project
b. Contributors Guide
c. Code of Conduct
● Claim the issue
● Edit this page link
Communicate with contributors
➔ IRC Cloud
◆ join the project channel
◆ chat to contributors
➔ Twitter
➔ Slack
Resources
➔ Git for All Platforms http://git-scm.com
➔ Emoji cheat sheet http://www.emoji-cheat-sheet.com/
➔ IRCCloud https://www.irccloud.com
➔ GitHub Guides https://guides.github.com/
➔ Git cheat sheet
https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf
➔ LavaCon Tutorial https://github.com/lyndaoleary/lavacon
FAQs
Where do I add my docs?
When should I delete a branch?
When would you restore a branch?
What is the difference between fork and clone?
What is the difference between clone and download?
What happens if 2 people working on same content?
Can I commit directly to master?
Thank you!
@olearylynda

More Related Content

What's hot

Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
Medhat Dawoud
 

What's hot (20)

Quick workflow of a nodejs api
Quick workflow of a nodejs apiQuick workflow of a nodejs api
Quick workflow of a nodejs api
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
BitBucket presentation
BitBucket presentationBitBucket presentation
BitBucket presentation
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Using Git and BitBucket
Using Git and BitBucketUsing Git and BitBucket
Using Git and BitBucket
 
OpenStack Documentation in the Open
OpenStack Documentation in the OpenOpenStack Documentation in the Open
OpenStack Documentation in the Open
 
Bitbucket
BitbucketBitbucket
Bitbucket
 
Getting Started with GitHub
Getting Started with GitHubGetting Started with GitHub
Getting Started with GitHub
 
Git Everyday
Git EverydayGit Everyday
Git Everyday
 
Github PowerPoint Final
Github PowerPoint FinalGithub PowerPoint Final
Github PowerPoint Final
 
Introducing GitLab
Introducing GitLabIntroducing GitLab
Introducing GitLab
 
Gerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big DataGerrit + Jenkins = Continuous Delivery For Big Data
Gerrit + Jenkins = Continuous Delivery For Big Data
 
CI/CD with GitHub Actions
CI/CD with GitHub ActionsCI/CD with GitHub Actions
CI/CD with GitHub Actions
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 
Building the Web with Gradle
Building the Web with GradleBuilding the Web with Gradle
Building the Web with Gradle
 
GitLab webcast - Release 8.4
GitLab webcast - Release 8.4GitLab webcast - Release 8.4
GitLab webcast - Release 8.4
 
Hidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script ExtensionsHidden Treasure - TestComplete Script Extensions
Hidden Treasure - TestComplete Script Extensions
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anyways
 
GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast GitLab 8.6 - Release Webcast
GitLab 8.6 - Release Webcast
 

Viewers also liked

Viewers also liked (9)

Introduction to github using Egit
Introduction to github using EgitIntroduction to github using Egit
Introduction to github using Egit
 
How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid
How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaidHow GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid
How GitHub Builds Software at Ruby Conference Kenya 2017 by Mike McQuaid
 
MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017
 
Become a Successful Web Developer in Web development Field in 2017
Become a Successful Web Developer in Web development Field in 2017Become a Successful Web Developer in Web development Field in 2017
Become a Successful Web Developer in Web development Field in 2017
 
Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge Interactive
 
MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017MySQL Replication Evolution -- Confoo Montreal 2017
MySQL Replication Evolution -- Confoo Montreal 2017
 
Know the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhubKnow the Science behind WorkFlows using Git & GitHhub
Know the Science behind WorkFlows using Git & GitHhub
 
Finding Similar Projects in GitHub using Word2Vec and WMD
Finding Similar Projects in GitHub using Word2Vec and WMDFinding Similar Projects in GitHub using Word2Vec and WMD
Finding Similar Projects in GitHub using Word2Vec and WMD
 
Advanced MySQL Query Optimizations
Advanced MySQL Query OptimizationsAdvanced MySQL Query Optimizations
Advanced MySQL Query Optimizations
 

Similar to O'Leary - Using GitHub for Enterprise and Open Source Documentation

Similar to O'Leary - Using GitHub for Enterprise and Open Source Documentation (20)

Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
Git and GitHub Info Session
Git and GitHub Info SessionGit and GitHub Info Session
Git and GitHub Info Session
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
 
Using Git to Organize Your Project
Using Git to Organize Your ProjectUsing Git to Organize Your Project
Using Git to Organize Your Project
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Making Juice With GitHub
Making Juice With GitHubMaking Juice With GitHub
Making Juice With GitHub
 
Git version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTSGit version control and trunk based approach with VSTS
Git version control and trunk based approach with VSTS
 
August OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub ExplainedAugust OpenNTF Webinar - Git and GitHub Explained
August OpenNTF Webinar - Git and GitHub Explained
 
Introduction to git & github
Introduction to git & githubIntroduction to git & github
Introduction to git & github
 
Open up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHubOpen up your platform with Open Source and GitHub
Open up your platform with Open Source and GitHub
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018Aiming for automatic updates - Drupal Dev Days Lisbon 2018
Aiming for automatic updates - Drupal Dev Days Lisbon 2018
 
You're doing it wrong! Git it right!
You're doing it wrong! Git it right!You're doing it wrong! Git it right!
You're doing it wrong! Git it right!
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
Devoops: DoJ Annual Cybersecurity Training Symposium Edition 2015
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Enterprise Griffon
Enterprise GriffonEnterprise Griffon
Enterprise Griffon
 

More from LavaCon

Swallow - Think Global, Act Global, Go Global
Swallow - Think Global, Act Global, Go GlobalSwallow - Think Global, Act Global, Go Global
Swallow - Think Global, Act Global, Go Global
LavaCon
 
Stern - Enhancing the Customer Experience Using Dynamic Content Filters
Stern - Enhancing the Customer Experience Using Dynamic Content Filters Stern - Enhancing the Customer Experience Using Dynamic Content Filters
Stern - Enhancing the Customer Experience Using Dynamic Content Filters
LavaCon
 
Walsh - From Filter Failure to Savvy Surfer
Walsh - From Filter Failure to Savvy SurferWalsh - From Filter Failure to Savvy Surfer
Walsh - From Filter Failure to Savvy Surfer
LavaCon
 
Plouzennec - Innovative Analytics in the News Industry
Plouzennec - Innovative Analytics in the News IndustryPlouzennec - Innovative Analytics in the News Industry
Plouzennec - Innovative Analytics in the News Industry
LavaCon
 
Lane - Using Cordova to Create Multi-Platform Mobile Apps from Structured Con...
Lane - Using Cordova to Create Multi-Platform Mobile Apps from Structured Con...Lane - Using Cordova to Create Multi-Platform Mobile Apps from Structured Con...
Lane - Using Cordova to Create Multi-Platform Mobile Apps from Structured Con...
LavaCon
 
Duplicate Slide (Delete-Verify Version)
Duplicate Slide (Delete-Verify Version)Duplicate Slide (Delete-Verify Version)
Duplicate Slide (Delete-Verify Version)
LavaCon
 
Pashina - Digital Content Strategy: Lessons Learned from Translating Customer...
Pashina - Digital Content Strategy: Lessons Learned from Translating Customer...Pashina - Digital Content Strategy: Lessons Learned from Translating Customer...
Pashina - Digital Content Strategy: Lessons Learned from Translating Customer...
LavaCon
 
Duplicate Slide (Delete-Verify Version)
Duplicate Slide (Delete-Verify Version)Duplicate Slide (Delete-Verify Version)
Duplicate Slide (Delete-Verify Version)
LavaCon
 
Mistry - A Tale of a Happy Marriage: Content Strategy & User Experience Strategy
Mistry - A Tale of a Happy Marriage: Content Strategy & User Experience StrategyMistry - A Tale of a Happy Marriage: Content Strategy & User Experience Strategy
Mistry - A Tale of a Happy Marriage: Content Strategy & User Experience Strategy
LavaCon
 
Mills - Use Case Battle Scars: How We Created, Refined and Reduced Our Use Cases
Mills - Use Case Battle Scars: How We Created, Refined and Reduced Our Use CasesMills - Use Case Battle Scars: How We Created, Refined and Reduced Our Use Cases
Mills - Use Case Battle Scars: How We Created, Refined and Reduced Our Use Cases
LavaCon
 
Oren - Building a Digital Experience that Supports Your Customer's Journey
Oren - Building a Digital Experience that Supports Your Customer's Journey Oren - Building a Digital Experience that Supports Your Customer's Journey
Oren - Building a Digital Experience that Supports Your Customer's Journey
LavaCon
 
Kesseler - New Ways for Automation in CCMS
Kesseler - New Ways for Automation in CCMSKesseler - New Ways for Automation in CCMS
Kesseler - New Ways for Automation in CCMS
LavaCon
 
Koster-Lenhardt - Taking Control of Your Content Career
Koster-Lenhardt - Taking Control of Your Content Career Koster-Lenhardt - Taking Control of Your Content Career
Koster-Lenhardt - Taking Control of Your Content Career
LavaCon
 
Kuhnen & Girling - Taking Your Content with You from Knowledge Base to Mobi...
Kuhnen & Girling -   Taking Your Content with You from Knowledge Base to Mobi...Kuhnen & Girling -   Taking Your Content with You from Knowledge Base to Mobi...
Kuhnen & Girling - Taking Your Content with You from Knowledge Base to Mobi...
LavaCon
 
Lanigan - Getting it Right When the Content Is the Product
Lanigan - Getting it Right When the Content Is the ProductLanigan - Getting it Right When the Content Is the Product
Lanigan - Getting it Right When the Content Is the Product
LavaCon
 
Gallon & McDonald - Our Role and Responsibility in Information 4.0
Gallon & McDonald - Our Role and Responsibility in Information 4.0Gallon & McDonald - Our Role and Responsibility in Information 4.0
Gallon & McDonald - Our Role and Responsibility in Information 4.0
LavaCon
 
Girard & Gilliver - Governance for Content Gone Wild!!!
Girard & Gilliver - Governance for Content Gone Wild!!!  Girard & Gilliver - Governance for Content Gone Wild!!!
Girard & Gilliver - Governance for Content Gone Wild!!!
LavaCon
 
Dybdahl - Getting the Rules Ready for Your Flight to LavaCon Dublin
Dybdahl  - Getting the Rules Ready for Your Flight to LavaCon DublinDybdahl  - Getting the Rules Ready for Your Flight to LavaCon Dublin
Dybdahl - Getting the Rules Ready for Your Flight to LavaCon Dublin
LavaCon
 
Fraissinede - The Next Era of Analytics for Tech Content
Fraissinede - The Next Era of Analytics for Tech ContentFraissinede - The Next Era of Analytics for Tech Content
Fraissinede - The Next Era of Analytics for Tech Content
LavaCon
 
Cropley & Girlie - Planning and Implementing a Successful Mobile App
Cropley & Girlie - Planning and Implementing a Successful Mobile AppCropley & Girlie - Planning and Implementing a Successful Mobile App
Cropley & Girlie - Planning and Implementing a Successful Mobile App
LavaCon
 

More from LavaCon (20)

Swallow - Think Global, Act Global, Go Global
Swallow - Think Global, Act Global, Go GlobalSwallow - Think Global, Act Global, Go Global
Swallow - Think Global, Act Global, Go Global
 
Stern - Enhancing the Customer Experience Using Dynamic Content Filters
Stern - Enhancing the Customer Experience Using Dynamic Content Filters Stern - Enhancing the Customer Experience Using Dynamic Content Filters
Stern - Enhancing the Customer Experience Using Dynamic Content Filters
 
Walsh - From Filter Failure to Savvy Surfer
Walsh - From Filter Failure to Savvy SurferWalsh - From Filter Failure to Savvy Surfer
Walsh - From Filter Failure to Savvy Surfer
 
Plouzennec - Innovative Analytics in the News Industry
Plouzennec - Innovative Analytics in the News IndustryPlouzennec - Innovative Analytics in the News Industry
Plouzennec - Innovative Analytics in the News Industry
 
Lane - Using Cordova to Create Multi-Platform Mobile Apps from Structured Con...
Lane - Using Cordova to Create Multi-Platform Mobile Apps from Structured Con...Lane - Using Cordova to Create Multi-Platform Mobile Apps from Structured Con...
Lane - Using Cordova to Create Multi-Platform Mobile Apps from Structured Con...
 
Duplicate Slide (Delete-Verify Version)
Duplicate Slide (Delete-Verify Version)Duplicate Slide (Delete-Verify Version)
Duplicate Slide (Delete-Verify Version)
 
Pashina - Digital Content Strategy: Lessons Learned from Translating Customer...
Pashina - Digital Content Strategy: Lessons Learned from Translating Customer...Pashina - Digital Content Strategy: Lessons Learned from Translating Customer...
Pashina - Digital Content Strategy: Lessons Learned from Translating Customer...
 
Duplicate Slide (Delete-Verify Version)
Duplicate Slide (Delete-Verify Version)Duplicate Slide (Delete-Verify Version)
Duplicate Slide (Delete-Verify Version)
 
Mistry - A Tale of a Happy Marriage: Content Strategy & User Experience Strategy
Mistry - A Tale of a Happy Marriage: Content Strategy & User Experience StrategyMistry - A Tale of a Happy Marriage: Content Strategy & User Experience Strategy
Mistry - A Tale of a Happy Marriage: Content Strategy & User Experience Strategy
 
Mills - Use Case Battle Scars: How We Created, Refined and Reduced Our Use Cases
Mills - Use Case Battle Scars: How We Created, Refined and Reduced Our Use CasesMills - Use Case Battle Scars: How We Created, Refined and Reduced Our Use Cases
Mills - Use Case Battle Scars: How We Created, Refined and Reduced Our Use Cases
 
Oren - Building a Digital Experience that Supports Your Customer's Journey
Oren - Building a Digital Experience that Supports Your Customer's Journey Oren - Building a Digital Experience that Supports Your Customer's Journey
Oren - Building a Digital Experience that Supports Your Customer's Journey
 
Kesseler - New Ways for Automation in CCMS
Kesseler - New Ways for Automation in CCMSKesseler - New Ways for Automation in CCMS
Kesseler - New Ways for Automation in CCMS
 
Koster-Lenhardt - Taking Control of Your Content Career
Koster-Lenhardt - Taking Control of Your Content Career Koster-Lenhardt - Taking Control of Your Content Career
Koster-Lenhardt - Taking Control of Your Content Career
 
Kuhnen & Girling - Taking Your Content with You from Knowledge Base to Mobi...
Kuhnen & Girling -   Taking Your Content with You from Knowledge Base to Mobi...Kuhnen & Girling -   Taking Your Content with You from Knowledge Base to Mobi...
Kuhnen & Girling - Taking Your Content with You from Knowledge Base to Mobi...
 
Lanigan - Getting it Right When the Content Is the Product
Lanigan - Getting it Right When the Content Is the ProductLanigan - Getting it Right When the Content Is the Product
Lanigan - Getting it Right When the Content Is the Product
 
Gallon & McDonald - Our Role and Responsibility in Information 4.0
Gallon & McDonald - Our Role and Responsibility in Information 4.0Gallon & McDonald - Our Role and Responsibility in Information 4.0
Gallon & McDonald - Our Role and Responsibility in Information 4.0
 
Girard & Gilliver - Governance for Content Gone Wild!!!
Girard & Gilliver - Governance for Content Gone Wild!!!  Girard & Gilliver - Governance for Content Gone Wild!!!
Girard & Gilliver - Governance for Content Gone Wild!!!
 
Dybdahl - Getting the Rules Ready for Your Flight to LavaCon Dublin
Dybdahl  - Getting the Rules Ready for Your Flight to LavaCon DublinDybdahl  - Getting the Rules Ready for Your Flight to LavaCon Dublin
Dybdahl - Getting the Rules Ready for Your Flight to LavaCon Dublin
 
Fraissinede - The Next Era of Analytics for Tech Content
Fraissinede - The Next Era of Analytics for Tech ContentFraissinede - The Next Era of Analytics for Tech Content
Fraissinede - The Next Era of Analytics for Tech Content
 
Cropley & Girlie - Planning and Implementing a Successful Mobile App
Cropley & Girlie - Planning and Implementing a Successful Mobile AppCropley & Girlie - Planning and Implementing a Successful Mobile App
Cropley & Girlie - Planning and Implementing a Successful Mobile App
 

Recently uploaded

Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
David Celestin
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 

Recently uploaded (15)

AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 

O'Leary - Using GitHub for Enterprise and Open Source Documentation

  • 1. Using GitHub for Enterprise and Open Source Documentation Lynda O’Leary LavaCon, May 2017 @olearylynda
  • 3. Agenda Introduction to Git and GitHub Adapting your documentation workflow Contributing to open source documentation Q&A
  • 5. What do we need? Small chunks Topic orientated Single-source Various outputs Technical reviews Peer reviews Maintain quality
  • 6. Collaborative Tools MadCap Flare MadCap Flare SVN Git Planning tool
  • 7. Why Git? Lightweight branching ● Isolate workspace Decentralized model ● Perform VCS operations with no remote connection.
  • 8. Git versus Traditional VCS GIT Traditional VCS ● Snapshot of a miniature filesystem ● Distributed version control system ● Perform commits and merges on your local ● Push changes to central server ● Set of files ● Centralized version control system ● Changes made to each file over time
  • 9. Install Git ● Command line - all platforms ● Desktop client 1. Download Git https://git-scm.com/downloads. 2. Set username and email address. 3. Authentication - HTTPS/SSH
  • 10. Why GitHub? ● Fast ● Multiple users ● Built in reviews ● Powerful search ● Secure ● User Management ● Issue tracker ● Integrations
  • 11. GitHub ➔ Hosts Git repositories ➔ Central point of collaboration ◆ clone other projects ◆ submit pull requests ➔ Area for networking ◆ build a profile ◆ upload and share projects ◆ connect with contributors ➔ Sign-up https://github.com/.
  • 12. Terminology Repository - contains your project files.
  • 13.
  • 14. Fork A copy of a repository.
  • 15. Branch Use branches to work on different versions of a repository at one time.
  • 16. Commit ● Save changes to your branch ● Small commits ● Shows history of work and commit message ● Commit often ● Commit completed work ● Write good commit messages
  • 18. Pull Request ● Method of notifying project maintainers about your changes ● Open at any time during development (get discussion started)
  • 20. GitHub Flow ➔ Fork the project you want to contribute to ➔ Create a branch ◆ your own area ◆ changes don’t affect master branch ➔ Add commits ◆ changes to your branch (add, edit, or delete a file) ◆ history of work and commit message ➔ Open a Pull Request ◆ method of notifying project maintainers about your changes ◆ open at any time during development (get discussion started) ➔ Discuss and Review PR ➔ Merge PR to master
  • 21. Clone Downloads a copy to your local computer.
  • 22. Useful commands ➔ git status ➔ git log ➔ git blame ➔ git bisect ➔ git checkout <branch> ➔ git branch ➔ git rm <file> ➔ git fetch ➔ git push ➔ git pull
  • 24. Markdown ● Simple format ● .md file ● Text editor - Atom, Sublime https://guides.github.com/features/mastering-markdown/
  • 25. What did I learn? ● Agree on a workflow ● Implement in stages ● Collaboration increased ● Easier to track issues ● Same tools made it easier for reviews ● Treated docs like code ● Visibility
  • 26. Storing your content ● Repo only for docs ● Store docs in with code ○ Standardize docs folder in project ● Include Readme file ● Include .gitignore file ● Only migrate the content you need ● Add wikis to your repo https://github.com/showcases/projects-with-great-wikis
  • 27. Using branches ● Work in your own workspace without disruption ● Define branch naming ● Short lived ● Branch > tag > roll back
  • 28. Reviewing content ● @mention ● Never merge your own PR ● Be respectful ● Follow the defined workflow ● Reward people for their work
  • 29. Publishing your content ● Release tagging ● Discuss a workflow that works for your team ● Automate
  • 30. Managing your work ● Use gists ● Use project boards ● Add milestones ● Look at metrics
  • 31. Using issues Track updates Report changes Suggest improves Monitor progress
  • 32. Creating labels Color code Identify level of difficulty Include area of work Add issue type
  • 33. Reviewing Metrics Who is contributing?
  • 36. Increasing the feedback cycle Issues - create and review Labels - create meaningful names for all levels @mention - provide clear feedback, comment in conversations Add to backlog and implement changes
  • 37. What do we need to improve? Localization - working with siloed teams? Peer reviews - where to fit in? Doc workflow - intent to deliver but sometimes fall behind? Software/doc workflow - alignment to deliver on time.
  • 38. Examples of best practice and contributing guides https://symfony.com/doc/current/contributing/documentation/overview.html https://help.github.com/articles/setting-guidelines-for-repository-contributors/
  • 40. Continuous Integration/Continuous Delivery Next steps to ensure quality: ● Automate Builds ● Automate Tests ● Automate Deploy
  • 41. GitHub Pages ● Static site hosting service ● Hosted from your GitHub repo ● username.github.io ● Select a theme ● Add custom domain More information: https://pages.github.com/
  • 42. Contributing to open source ● Wide variety of projects ● Range of tools ● Difficult to find easy issues for beginners ● New method of communicating ● Uncertainty of the process
  • 43. Open source is for everyone ➔ Triage ➔ Technical Writers ➔ QA ➔ Community Managers ➔ UX experts ➔ Software Engineers ➔ Recruitment
  • 44. Benefits of contributing to open source ➔ Visibility to employers ➔ History of your work ➔ Shows you have an interest ➔ Learn new skills
  • 45. Your GitHub profile is more important than your LinkedIn profile, to companies you actually want to work for
  • 46. Your GitHub Profile is your public portfolio
  • 47. Search for a project ➔ Aligns to your interests ➔ Communicate with the community ➔ Read the guidelines ➔ Respect contributors ➔ Volunteer to help
  • 48. How to start contributing? ● Find a small project ● Read the Readme file a. information about the project b. Contributors Guide c. Code of Conduct ● Claim the issue ● Edit this page link
  • 49. Communicate with contributors ➔ IRC Cloud ◆ join the project channel ◆ chat to contributors ➔ Twitter ➔ Slack
  • 50. Resources ➔ Git for All Platforms http://git-scm.com ➔ Emoji cheat sheet http://www.emoji-cheat-sheet.com/ ➔ IRCCloud https://www.irccloud.com ➔ GitHub Guides https://guides.github.com/ ➔ Git cheat sheet https://training.github.com/kit/downloads/github-git-cheat-sheet.pdf ➔ LavaCon Tutorial https://github.com/lyndaoleary/lavacon
  • 51. FAQs Where do I add my docs? When should I delete a branch? When would you restore a branch? What is the difference between fork and clone? What is the difference between clone and download? What happens if 2 people working on same content? Can I commit directly to master?