Book Image

GitHub Essentials

By : Achilleas Pipinellis
Book Image

GitHub Essentials

By: Achilleas Pipinellis

Overview of this book

<p><span id="description" class="sugar_field">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.</span></p> <p><span id="description" class="sugar_field">Starting with the basics of creating a repository you will then learn how to manage the issue tracker, the place where discussion about your project takes place. Continuing our journey we will explore how to use the wiki and write rich documentation that will accompany your project. Organization and team management will be the next stop and then onto the feature that made GitHub so well known, Pull Requests. Next we focus on creating simple web pages hosted on GitHub and lastly we explore the settings that are configurable for a user and a repository.</span></p>
Table of Contents (13 chapters)

Preface

GitHub is the leading code-hosting platform with literally millions of open source projects having their code hosted on it. In conjunction with Git, it provides the means for a productive development workflow and is the preferred tool among developers. Starting with the basics of creating a repository, you will then learn how to manage the issue tracker, where your project can be discussed. Continuing our journey, we will explore how to use the wiki and write rich documentation that will accompany your project. Organization and team management will be the next stop and then onto the pull requests feature that made GitHub so well known. Next, we will focus on creating simple web pages hosted on GitHub and lastly we explore the settings that are configurable for a user and a repository.

What this book covers

Chapter 1, Brief Repository Overview and Usage of the Issue Tracker, explains some of the main features GitHub provides and what you can make out of them. The issue tracker is the heart of communication between a project's developers and/or users. Consider it as a notepad dedicated to each repository where you track bugs, reports, feature requests, and anything else that can be written down. GitHub has implemented many other features that sit on top of the issue tracker, such as labels and milestones, which provide the ability to better visualize and categorize all the issues.

Chapter 2, Using the Wiki and Managing Code Versioning, helps you learn how to create, edit, and maintain a wiki by providing a home for your documentation that will complement your project. You will also learn how to create a new release out of an existing branch or tag, accompanied with optional release notes. In this way, the end user can understand the changes from any previous versions.

Chapter 3, Managing Organizations and Teams, helps you learn how to create and manage the organizations that you are the owner of. You will also learn how to create teams, add users to them, and assign different access levels according to your needs.

Chapter 4, Collaboration Using the GitHub Workflow, helps you learn how to work with branches and pull requests, the most powerful features of GitHub.

Chapter 5, GitHub Pages and Web Analytics, helps you learn how to build web pages around your project, hosted exclusively on GitHub. You have the ability to make static web pages using HTML, CSS, and JavaScript.

Chapter 6, Exploring the User and Repository Settings, explores the most common and essential settings of a user and a repository. As a user, there is a lot of information you can set up in your user settings page, such as associating more than one e-mail to your account, adding multiple SSH keys, or setting up two-factor authentication. Similarly, some functionalities of a repository can be set up via its settings page. For example, you can enable or disable the wiki pages and grant write access to the public or completely disable the issue tracker.

What you need for this book

For this book, you'll just need Git; any version will do.

Who this book is for

This book is intended 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.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

Code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles are shown as follows: "Let's first create a README file and push it to GitHub in order to explore the commits page."

A block of code is set as follows:

echo "# github-essentials" >> README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin [email protected]:<username>/<repository>.git
git push -u origin master

Any command-line input or output is written as follows:

sudo gem install bundler

New terms and important words are shown in bold. Words that you see on the screen, in menus or dialog boxes for example, appear in the text like this: "The Network graph shows the branch history of the main repository as well as its forks."

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader feedback

Feedback from our readers is always welcome. Let us know what you think about this book—what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply send an e-mail to , and mention the book title via the subject of your message.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the example code

You can download the example code files for all Packt books you have purchased from your account at http://www.packtpub.com. If you purchased this book elsewhere, you can visit http://www.packtpub.com/support and register to have the files e-mailed directly to you.

Downloading the color images of this book

We also provide you a PDF file that has color images of the screenshots/diagrams used in this book. The color images will help you better understand the changes in the output. You can download this file from: http://www.packtpub.com/sites/default/files/downloads/3716OT_ColorImages.pdf.

Errata

Although we have taken every care to ensure the accuracy of our content, mistakes do happen. If you find a mistake in one of our books—maybe a mistake in the text or the code—we would be grateful if you would report this to us. By doing so, you can save other readers from frustration and help us improve subsequent versions of this book. If you find any errata, please report them by visiting http://www.packtpub.com/submit-errata, selecting your book, clicking on the errata submission form link, and entering the details of your errata. Once your errata are verified, your submission will be accepted and the errata will be uploaded on our website, or added to any list of existing errata, under the Errata section of that title. Any existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Piracy

Piracy of copyright material on the Internet is an ongoing problem across all media. At Packt, we take the protection of our copyright and licenses very seriously. If you come across any illegal copies of our works, in any form, on the Internet, please provide us with the location address or website name immediately so that we can pursue a remedy.

Please contact us at with a link to the suspected pirated material.

We appreciate your help in protecting our authors, and our ability to bring you valuable content.

Questions

You can contact us at if you are having a problem with any aspect of the book, and we will do our best to address it.