GitHub Essentials - Achilleas Pipinellis - E-Book

GitHub Essentials E-Book

Achilleas Pipinellis

0,0
23,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

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


Key FeaturesEffectively 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.Book Description


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.


What you will learnCreate and upload repositories to your accountCreate organizations and manage teams with different access levels on repositoriesUse the issue tracker effectively and add context to issues with labels and milestonesCreate, access, and personalize your user account and profile settingsBuild a community around your project using the sophisticated tools GitHub providesCreate GitHub pages and understand web analyticsWho 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.


Achilleas Pipinellis is an open source enthusiast and tries to get involved in as many projects as possible. He was introduced to Linux almost 10 years ago and haven't looked back since. His distribution of choice is Arch Linux, a lightweight and flexible system that adheres to the KISS philosophy. He likes trying new technologies, especially those that require some sort of special deployment. He also enjoys writing technical guides and articles that help people learn new stuff and strongly believes that comprehensive documentation is essential to a project's growth and recognition.

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern

Seitenzahl: 134

Veröffentlichungsjahr: 2018

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



GitHub EssentialsSecond Edition

 

 

Unleash the power of collaborative development workflows using GitHub

 

 

 

 

 

 

 

 

 

Achilleas Pipinellis

 

 

 

 

 

 

 

BIRMINGHAM - MUMBAI

GitHub Essentials Second Edition

Copyright © 2018 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author(s), nor Packt Publishing or its dealers and distributors, will be held liable for any damages caused or alleged to have been caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

Commissioning Editor:Amarabha BanerjeeAcquisition Editor:Noyonika DasContent Development Editor:Roshan KumarTechnical Editor: Sushmeeta JenaCopy Editor:Safis EditingProject Coordinator:Hardik BhindeProofreader: Safis EditingIndexer:Pratik ShirodkarGraphics:Jason MonteiroProduction Coordinator:Aparna Bhagat

First published: September 2015 Second edition: June 2018

Production reference: 1290618

Published by Packt Publishing Ltd. Livery Place 35 Livery Street Birmingham B3 2PB, UK.

ISBN 978-1-78913-833-7

www.packtpub.com

mapt.io

Mapt is an online digital library that gives you full access to over 5,000 books and videos, as well as industry leading tools to help you plan your personal development and advance your career. For more information, please visit our website.

Why subscribe?

Spend less time learning and more time coding with practical eBooks and Videos from over 4,000 industry professionals

Improve your learning with Skill Plans built especially for you

Get a free eBook or video every month

Mapt is fully searchable

Copy and paste, print, and bookmark content

PacktPub.com

Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at [email protected] for more details.

At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters, and receive exclusive discounts and offers on Packt books and eBooks.

Contributors

About the author

Achilleas Pipinellis is an open source enthusiast who tries to get involved in as many projects as possible. He was introduced to Linux almost 10 years ago and hasn't looked back since. His distribution of choice is Arch Linux, a lightweight and flexible system that adheres to the KISS philosophy. He likes trying new technologies, especially those that require some sort of special deployment. He also enjoys writing technical guides and articles that help people to learn new stuff and strongly believes that comprehensive documentation is essential to a project's growth and recognition.

About the reviewer

Umesh Ram Sharma has over 9 years, experience in architecture, design, and the development of scalable and distributed cloud-based applications. He has a master's degree in computer science and information technology. He worked as lead developer in companies in the past, and now works as a consultant for various clients. He's an expert in the utilization of the various offers of J2EE, Spring stack, AWS Cloud, MySql, and MongoDB, as well as various open source technologies and libraries.

He's the author of Practical Microservice and the reviewer of GitHub Essentials, first edition.

I would like to thank my family for supporting me in this  endeavour; without their support, this would not have been possible.

Packt is searching for authors like you

If you're interested in becoming an author for Packt, please visit authors.packtpub.com and apply today. We have worked with thousands of developers and tech professionals, just like you, to help them share their insight with the global tech community. You can make a general application, apply for a specific hot topic that we are recruiting an author for, or submit your own idea.

Table of Contents

Title Page

Copyright and Credits

GitHub Essentials Second Edition

Packt Upsell

Why subscribe?

PacktPub.com

Contributors

About the author

About the reviewer

Packt is searching for authors like you

Preface

Who this book is for

What this book covers

To get the most out of this book

Download the example code files

Download the color images

Conventions used

Get in touch

Reviews

Brief Repository Overview and Usage of the Issue Tracker

Exploring the repository's main page

Creating a new repository

The commits page and a comparison with the git log command

The branches page and a comparison with the git branch command

The Raw, Blame, and History buttons

The Watch, Star, and Fork buttons

Changing the description and URL

Learning how to use the powerful benefits of the issue tracker

Creating a new issue

Assigning issues to users

Labels

Why labels are a great asset to UX

Creating new label names and setting different colors

Using labels to group issues

Milestones

Why milestones are a great help when working with code versioning

Creating a new milestone

Adding issues to milestones

Using milestones to see which issues are resolved or are yet to be resolved

Tips and tricks

Learning about the README file

Navigating easily with keyboard shortcuts

Summary

Using the Wiki and Managing Code Versioning

Using the wiki

Why wikis are a nice place to document your project

Creating a new wiki page

Deleting a page

A Markdown-powered wiki – an introduction to Markdown

How to add a sidebar and a footer to your wiki

Watching a wiki page's commit history and reverting to a previous state if needed

Managing code versioning

Creating a release

Editing a release

Pushing a tag from the command line

Marking as pre-release

Making a draft of a release

Uploading your own files

Tips and tricks

Subscribing to new releases via atom feed

Editing the wiki locally

Installing gollum

Cloning the wiki and viewing the preview in your browser

Making changes locally and pushing to GitHub

Summary

Managing Organizations and Teams

The difference between users and organizations

Organization roles and repository permission levels

Creating an organization

Global member privileges

Repositories

Teams – a great way to grant selective access to your organization projects

Creating a team

Inviting people

Accepting an invitation

Team member permissions

Requesting to join a team

Step one – as a user

Step two – as an owner or team maintainer

Adding repositories to a team

Team discussions

The People tab

Managing access levels

Difference between Members and Outside collaborators

Demoting to an outside collaborator

Organization settings

Profile

Security

Audit log

Third-party access

Teams

Tips and tricks

How to transfer a repository to an organization's namespace

How to convert a user account into an organization

Mentioning teams

Organization feed only in dashboard

Summary

Collaboration Using the GitHub Workflow

Learning about pull requests

Why pull requests are a powerful asset to work with

The connection between branches and pull requests

Creating branches directly in a project – the shared repository model

Creating branches in your fork – the fork and pull model

How to create and submit a pull request

Using the Compare & pull request button

Using the compare function directly

Using the GitHub web editor

The shared repository model

The fork and pull model

Submitting a pull request

Peer review and inline comments

The layout of a pull request

The review process

Correcting mistakes

Merging the pull request

Removing/restoring a branch after the pull request is merged

Reverting a pull request

Tips and tricks

Closing issues via commit messages

Task lists in pull requests

Downloading the diff of pull requests

A global list of your open pull requests

Adding a LICENSE file using the web editor

Creating new directories using the web editor

Summary

GitHub Pages and Web Analytics

GitHub Pages

Creating a user or an organization page

Creating a project page

Choosing a theme to style your page

Using a custom domain

Introducing Jekyll

Installing Jekyll

Customizing your page using Jekyll

Read more about Jekyll

Web analytics

Pulse

Contributors – additions/deletions

Community profile

Commits over time

Code frequency

Dependency graph

Network

Forks

Traffic

Tips and tricks

Making use of Github Pages' metadata with Jekyll

Summary

Exploring the User and Repository Settings

User settings

Profile

Setting up multiple emails

Managing your SSH keys

Setting up two-factor authentication

Repository settings

Changing the default branch that appears in a repository's main page

Enabling/disabling the wiki

Enabling/disabling the issue tracker

Adding collaborators

Transferring ownership – user to organization

Deleting a repository

Tips and tricks

Finding the size of your repositories

Fine-tuning email notifications

Summary

Other Books You May Enjoy

Leave a review - let other readers know what you think

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 the pull requests, which made GitHub so well known.

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.

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.

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 to be 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 by optional release notes. In this way, the end user can understand the changes from any previous versions.

Chapter 3, Managing Organizations and Teams, teaches you 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, focuses on how to work with branches and pull requests, the most powerful features of GitHub.

Chapter 5, GitHub Pages and Web Analytics, takes you through 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 email 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.

To get the most out of this book

For this book, you'll need Git (any version will do) and a GitHub account.

Download the example code files

You can download the example code files for this book from your account at www.packtpub.com. If you purchased this book elsewhere, you can visit www.packtpub.com/support and register to have the files emailed directly to you.

You can download the code files by following these steps:

Log in or register at

www.packtpub.com

.

Select the

SUPPORT

tab.

Click on

Code Downloads & Errata

.

Enter the name of the book in the

Search

box and follow the on screen instructions.

Once the file is downloaded, please make sure that you unzip or extract the folder using the latest version of:

WinRAR/7-Zip for Windows

Zipeg/iZip/UnRarX for Mac

7-Zip/PeaZip for Linux

The code bundle for the book is also hosted on GitHub at https://github.com/PacktPublishing/GitHub-Essentials-Second-Edition. In case there's an update to the code, it will be updated on the existing GitHub repository.

We also have other code bundles from our rich catalog of books and videos available at https://github.com/PacktPublishing/. Check them out!

Download the color images

We also provide a PDF file that has color images of the screenshots/diagrams used in this book. You can download it here: http://www.packtpub.com/sites/default/files/downloads/GitHubEssentialsSecondEdition_ColorImages.pdf.

Conventions used

There are a number of text conventions used throughout this book.

CodeInText: Indicates code words in text, database table names, folder names, filenames, file extensions, pathnames, dummy URLs, user input, and Twitter handles. Here is an example: "Mount the downloaded WebStorm-10*.dmg disk image file as another disk in your system."

A block of code is set as follows:

echo "\n## Description\n\nGitHub for dummies" >> README.md git add README.md git commit -m "Add second level header to README file" git push origin add_description

When we wish to draw your attention to a particular part of a code block, the relevant lines or items are set in bold:

echo "\n## Description\n\nGitHub for dummies" >> README.md git add README.md

git commit -m "Add second level header to README file"

git push origin add_description

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

mkdir -p ~/github-essentials cd $_

Bold: Indicates a new term, an important word, or words that you see onscreen. For example, words in menus or dialog boxes appear in the text like this. Here is an example: "Select System info from the Administration panel."

Warnings or important notes appear like this.
Tips and tricks appear like this.

Get in touch

Feedback from our readers is always welcome.

General feedback: Email [email protected]