GitHub Essentials

Book description

This book will teach you what you need to know to start using GitHub effectively for collaborating and working on your software projects.

About This Book
  • Effectively use GitHub by learning its key features to leverage the power of Git and make collaboration on code easy to work with.
  • Be more productive on the development workflow of your projects using the valuable toolset that GitHub provides.
  • Explore the world of GitHub by following simple, step-by-step, real-world scenarios accompanied by helpful, explanatory screenshots.
Who This Book Is For

This book is for experienced or novice developers with a basic knowledge of Git. If you ever wanted to learn how big projects such as Twitter, Google, or even GitHub collaborate on code, then this book is for you.

What You Will Learn
  • Create and upload repositories to your account
  • Create organizations and manage teams with different access levels on repositories
  • Use the issue tracker effectively and add context to issues with labels and milestones
  • Create, access, and personalize your user account and profile settings
  • Build a community around your project using the sophisticated tools GitHub provides
  • Create GitHub pages and understand web analytics
In Detail

Whether you are an experienced developer or a novice, learning to work with Version Control Systems is a must in the software development world. Git is the most popular tool for that purpose, and GitHub was built around it, leveraging its powers by bringing it to the web.

Starting with the basics of creating a repository, you will then learn how to manage the issue tracker, the place where discussions about your project take place. Continuing our journey, we will explore how to use the wiki and write rich documentation that will accompany your project. You will also master organization/team management and some of the features that made GitHub so well known, including pull requests. Next, we will focus on creating simple web pages hosted on GitHub and lastly, we will explore the settings that are configurable for a user and a repository.

Style and approach

This book will take you through some of the most important features of one of the most popular tools, GitHub, which is used to bring developers together from all around the world to discover, share, and build better software. At each step of the way, you will learn about important approaches used in GitHub, including creating a repository, managing teams, creating GitHub pages, and watching your repository's web analytics, among others.

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. GitHub Essentials Second Edition
  3. Packt Upsell
    1. Why subscribe?
    2. PacktPub.com
  4. Contributors
    1. About the author
    2. About the reviewer
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  6. Brief Repository Overview and Usage of the Issue Tracker
    1. Exploring the repository's main page
      1. Creating a new repository
      2. The commits page and a comparison with the git log command
      3. The branches page and a comparison with the git branch command
      4. The Raw, Blame, and History buttons
      5. The Watch, Star, and Fork buttons
      6. Changing the description and URL
    2. Learning how to use the powerful benefits of the issue tracker
      1. Creating a new issue
      2. Assigning issues to users
      3. Labels
        1. Why labels are a great asset to UX
        2. Creating new label names and setting different colors
        3. Using labels to group issues
      4. Milestones
        1. Why milestones are a great help when working with code versioning
        2. Creating a new milestone
        3. Adding issues to milestones
        4. Using milestones to see which issues are resolved or are yet to be resolved
      5. Tips and tricks
        1. Learning about the README file
        2. Navigating easily with keyboard shortcuts
    3. Summary
  7. Using the Wiki and Managing Code Versioning
    1. Using the wiki
      1. Why wikis are a nice place to document your project
      2. Creating a new wiki page
      3. Deleting a page
      4. A Markdown-powered wiki – an introduction to Markdown
      5. How to add a sidebar and a footer to your wiki
      6. Watching a wiki page's commit history and reverting to a previous state if needed
    2. Managing code versioning
      1. Creating a release
      2. Editing a release
      3. Pushing a tag from the command line
      4. Marking as pre-release
      5. Making a draft of a release
      6. Uploading your own files
    3. Tips and tricks
      1. Subscribing to new releases via atom feed
      2. Editing the wiki locally
        1. Installing gollum
        2. Cloning the wiki and viewing the preview in your browser
        3. Making changes locally and pushing to GitHub
    4. Summary
  8. Managing Organizations and Teams
    1. The difference between users and organizations
    2. Organization roles and repository permission levels
    3. Creating an organization
    4. Global member privileges
    5. Repositories
    6. Teams – a great way to grant selective access to your organization projects
      1. Creating a team
      2. Inviting people
        1. Accepting an invitation
      3. Team member permissions
      4. Requesting to join a team
        1. Step one – as a user
        2. Step two – as an owner or team maintainer
      5. Adding repositories to a team
      6. Team discussions
    7. The People tab
      1. Managing access levels
      2. Difference between Members and Outside collaborators
      3. Demoting to an outside collaborator
    8. Organization settings
      1. Profile
      2. Security
      3. Audit log
      4. Third-party access
      5. Teams
    9. Tips and tricks
      1. How to transfer a repository to an organization's namespace
      2. How to convert a user account into an organization
      3. Mentioning teams
      4. Organization feed only in dashboard
    10. Summary
  9. Collaboration Using the GitHub Workflow
    1. Learning about pull requests
      1. Why pull requests are a powerful asset to work with
      2. The connection between branches and pull requests
        1. Creating branches directly in a project – the shared repository model
        2. Creating branches in your fork – the fork and pull model
      3. How to create and submit a pull request
        1. Using the Compare & pull request button
        2. Using the compare function directly
        3. Using the GitHub web editor
          1. The shared repository model
          2. The fork and pull model
        4. Submitting a pull request
    2. Peer review and inline comments
      1. The layout of a pull request
      2. The review process
      3. Correcting mistakes
    3. Merging the pull request
      1. Removing/restoring a branch after the pull request is merged
      2. Reverting a pull request
    4. Tips and tricks
      1. Closing issues via commit messages
      2. Task lists in pull requests
      3. Downloading the diff of pull requests
      4. A global list of your open pull requests
      5. Adding a LICENSE file using the web editor
      6. Creating new directories using the web editor
    5. Summary
  10. GitHub Pages and Web Analytics
    1. GitHub Pages
      1. Creating a user or an organization page
      2. Creating a project page
      3. Choosing a theme to style your page
      4. Using a custom domain
      5. Introducing Jekyll
        1. Installing Jekyll
        2. Customizing your page using Jekyll
        3. Read more about Jekyll
    2. Web analytics
      1. Pulse
      2. Contributors – additions/deletions
      3. Community profile
      4. Commits over time
      5. Code frequency
      6. Dependency graph
      7. Network
      8. Forks
      9. Traffic
    3. Tips and tricks
      1. Making use of Github Pages' metadata with Jekyll
    4. Summary
  11. Exploring the User and Repository Settings
    1. User settings
      1. Profile
      2. Setting up multiple emails
      3. Managing your SSH keys
      4. Setting up two-factor authentication
    2. Repository settings
      1. Changing the default branch that appears in a repository's main page
      2. Enabling/disabling the wiki
      3. Enabling/disabling the issue tracker
      4. Adding collaborators
      5. Transferring ownership – user to organization
      6. Deleting a repository
    3. Tips and tricks
      1. Finding the size of your repositories
      2. Fine-tuning email notifications
    4. Summary
  12. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: GitHub Essentials
  • Author(s): Achilleas Pipinellis
  • Release date: June 2018
  • Publisher(s): Packt Publishing
  • ISBN: 9781789138337