GitHub For Dummies

Sarah Guthals, Phil Haack

ISBN: 9788126530779

376 pages

INR 699


Software is rarely written by a lone wolf developer, cranking out thousands of lines of code on their own. Truly effective software typically comes from the collaboration of engineers, designers, product managers, analysts, and others committed to creating a brilliant final product. GitHub is the tool that makes this collaboration possible. Packed with insight from one of GitHub's engineering managers, this book offers novice software developers the steps for creating collaborative projects, enhancing teamwork, and drawing off the work others have done before them.


About This Book  

Foolish Assumptions  

Icons Used in This Book  

Beyond the Book  

Where to Go from Here


Part 1: Getting Started with GitHub.Com

Chapter 1: Understanding the Git in GitHub

  • Introducing GitHub  
  • Understanding Version Control  
  • Git Version Control  
  • Try simple Git on the terminal
  • Git branching by collaborator
  • Git branching by feature
  • Git branching for experimentation
  • Git's Place on GitHub
  • Signing Up for
  • Personalizing Your Account
  • Account
  • Emails  
  • Notifications
  • Billing
  • SSH and GPG keys
  • Security
  • Sessions
  • Blocked users
  • Repositories
  • Organizations
  • Saved replies
  • Applications
  • Developer settings
  • Discovering Helpful Resources


Chapter 2: Setting Up Your Collaborative Coding Environment

  • Exploring
  • Understanding Your Profile
  • Getting to Know GitHub Desktop
  • Setting up GitHub Desktop
  • Introducing Atom


Part 2: Starting Your First Solo Project

Chapter 3: Introducing GitHub Repositories

  • Setting Up a Repository
  • Exploring Your Repository
  • Top information
  • Tabs
  • Code tab
  • Modifying
  • Merging a Pull Request
  • Using Issues and Project Boards
  • Creating a project board and an issue
  • Closing an issue


Chapter 4: Setting Up a GitHub Website Repo

  • Introducing GitHub Pages
  • Turning a Project Repo into a Website
  • Setting Up a Personal Website Repo
  • Creating Issues for Your Website
  • Setting Up Your Local Environment
  • Cloning a repo in GitHub Desktop
  • Touring GitHub Desktop
  • Opening your repo in Atom
  • Touring Atom
  • Finding Resources for GitHub Pages


Chapter 5: Creating a Website with GitHub Pages

  • Jumping into an Existing GitHub Project
  • Accessing the repo
  • Verifying your permissions for the repo
  • Orienting yourself with the project
  • Preparing Your Contribution
  • Creating a branch for your contribution
  • Confirming your branch is published
  • Building Your Personal Website
  • Modifying the title and tagline
  • Adding sections to your website
  • Creating a blog
  • Linking project repos


Part 3: Contributing to Your First Project

Chapter 6: Forking GitHub Repositories

  • Introducing Forking
  • Cloning, Forking, and Duplicating
  • Cloning a Repository
  • Forking a Repository
  • Fetching changes from upstream
  • Contributing changes to upstream
  • Getting unstuck when cloning without forking


Chapter 7: Writing and Committing Code

  • Creating a Repository
  • Writing Code
  • Creating a Commit
  • Staging changes
  • Committing a file
  • Committing multiple file:
  • Writing a Good Commit Message
  • Committing Code with GitHub Desktop
  • Tracking a repository in Desktop
  • Publishing a repository in Desktop
  • Committing in Desktop
  • Using GitHub Conventions in Commit Messages
  • Emojis
  • Issue references
  • Giving credit to coauthors
  • Committing Code from Your Editor

Chapter 8: Working with Pull Requests

  • Understanding a Pull Request
  • Pushing Code to GitHub
  • Opening a Pull Request
  • Describing the pull request
  • Adding reviewers
  • Specifying assignees
  • Specifying labels
  • Specifying projects and milestones
  • Creating the pull request
  • Writing a Great Pull Request
  • Knowing your audience
  • Making the purpose clear
  • Keeping it focused
  • Explaining the why
  • A picture is worth a thousand words
  • Including a call to action
  • Reviewing a Pull Request
  • Reviewing the Conversation tab
  • Reviewing the changed files
  • Commenting on code
  • Suggesting changes
  • Finishing the review
  • Reading More About Pull Requests


Part 4: Manage and Contribute to Large Projects

Chapter 9: Exploring and Contributing to OSS

  • Exploring GitHub
  • Exploring the headline section
  • Discovering repositories
  • Trending repositories
  • Exploring topics
  • Exploring Marketplace apps
  • Exploring Events
  • Exploring collections
  • Getting by with help from your friends
  • Finding Places to Contribute
  • Surveying a Project for Contribution
  • Reading the CONTRIBUTING guide
  • Reading the contributing code guide
  • Reading the code of conduct
  • Setting Contributor Expectations
  • They won't fix every issue
  • They won't merge every pull request
  • They don't owe you anything
  • Keeping Tabs on a Project


Chapter 10: Starting Your Own OSS

  • Creating an Open Source Repository
  • Adding a license
  • Adding contributor guidelines
  • Adding a code of conduct
  • Making a Repository Public
  • Enforcing a Code of Conduct
  • Responding with kindness
  • Leveraging the ban hammer
  • Blocking users
  • Writing a File
  • Writing Good Documentation
  • Managing Issues
  • Labeling issues
  • Triaging issues
  • Issue templates
  • Saved replies
  • Ending Your Project
  • Archiving a project
  • Transferring ownership


Chapter 11: Inner-Source Your Code on GitHub

  • Why Code in Private?
  • Using GitHub Organizations
  • Creating a GitHub organization
  • Inviting members to your GitHub organization
  • Viewing repositories for your organization
  • Managing members of your organization
  • Creating teams within your organization
  • Using project boards within your organization
  • Setting organization settings
  • Making the Most of Your Teams
  • Creating parent/child teams
  • Discussing teams
  • Assigning CODEOWNERS
  • Best Practices for Inner-Sourcing
  • Repository insights
  • Milestones for larger projects


Part 5: Make GitHub Work for You

Chapter 12: Collaborating Outside of GitHub

  • Chatting it Up
  • Installing the GitHub app for Slack
  • Subscribing to a repository in a Slack channel
  • Trying out the GitHub Slack integration
  • Getting Trello and GitHub Integrated
  • Installing the GitHub power-up
  • Using the GitHub power-up
  • Managing Notifications with Octobox


Chapter 13: GitHub Workflow Integrations

  • Using GitHub for Atom
  • Viewing, checking out, and creating pull requests
  • Viewing issues
  • Following the GitHub package for Atom
  • Using GitHub for Visual Studio Code
  • Interacting with pull requests in VS Code
  • Following the GitHub for VS Code pull requests extension
  • Using GitHub for Unity
  • Using GitHub for Unity in Unity
  • Following the GitHub for Unity extension
  • Using GitHub for Visual Studio
  • Viewing, creating, and reviewing pull requests in Visual Studio
  • Following the GitHub for Visual Studio extension
  • Using GitHub for XCode
  • Using GitHub for IntelliJ


Chapter 14: Personalizing GitHub

  • Using Browser Extensions
  • Refining GitHub
  • Taking a GitHub selfie
  • GitHub Apps and Probot
  • Introducing Probot
  • Hosting the app
  • Introducing Glitch
  • Creating a Probot Glitch app
  • Customizing the app
  • Installing the app
  • Taking Action with GitHub Actions
  • Creating a GitHub action workflow
  • Testing a GitHub Action


Part 6: The GitHub Ecosystem

Chapter 15: Exploring the GitHub Marketplace

  • Introducing the GitHub Marketplace
  • Billing made easy
  • The Marketplace vetting process
  • Listing Your App on the Marketplace
  • Considering Common Apps to Install
  • Continuous integration
  • Code quality
  • Localization
  • Monitoring
  • Dependency management
  • Testing
  • Learning


Chapter 16: GitHub and You

  • Understanding Your GitHub Profile
  • Profile picture
  • Status message
  • Personal info and Bio
  • Pinned repositories
  • Contribution graph
  • Contribution activity
  • Starring Repositories
  • Following Users


Chapter 17: Attending Events

  • Exploring Types of Events
  • Meet-ups and user groups
  • Regional conferences
  • Hackathons
  • Major conferences
  • Knowing What to Expect at Events
  • Keynotes
  • Conference session tracks
  • Hallway tracks
  • After-hour conference events
  • A respectful professional environment
  • Becoming Familiar with GitHub Events
  • GitHub Universe
  • GitHub Satellite
  • GitHub Constellation
  • Git Merge
  • Speaking at Events
  • Everyone has a story to tell
  • Benefits of being a speaker
  • Finding Funding for Events


Part 7: The Parts of Tens

Chapter 18: Ten Ways to Level Up on GitHub

  • Trial and Error
  • GitHub Help Docs
  • GitHub Learning Labs
  • GitHub In-Person Training
  • Project-Specific Documentation
  • External Community Places
  • Online Coding Tutorials
  • Online Courses and Tutorials
  • Blogs and Twitter
  • Community Forum


Chapter 19: Ten Ways to Improve Your Development Workflow

  • Drafting Pull Requests
  • Git Aliases
  • Run Tests Automatically
  • Take Breaks
  • Prototype User Interfaces
  • Scaffold Apps with Yeoman
  • Chrome Web Developer Tools
  • Stack Overflow
  • Code Analysis Tools
  • Project Boards


Chapter 20: Ten Tips for Being an Effective Community Member

  • Be Respectful and Kind
  • Report Bad Behavior
  • Write Good Bug Reports
  • Be Responsive
  • Submit Pull Requests to Correct Documentation
  • Document Your Own Code
  • Give Credit Where It's Due
  • Help Get the Word Out
  • Be Proactive and Mentor Others
  • Contribute Outside of GitHub




  • Name:
  • Designation:
  • Name of Institute:
  • Email:
  • * Request from personal id will not be entertained
  • Moblie:
  • ISBN / Title:
  • ISBN:    * Please specify ISBN / Title Name clearly