Preface

GitHub is changing the way that software gets built. Conceived originally as a way to make it easier for developers to contribute to open source projects, GitHub is rapidly becoming the default platform for software development. More than just a tool for storing source code, GitHub provides a range of powerful tools for specifying, discussing, and reviewing software.

Who This Book Is For

If you are working with developers on a software project, this book is for you, whether you are a:

  • Business stakeholder who wants to have a sense of how your project is going
  • Product or project manager who needs to ensure that software is delivered on time and within budget
  • Designer who needs to deliver anything from mockups to HTML/CSS for a project
  • Copywriter who’s adding marketing copy or other content to a site or an app
  • Lawyer who’s reviewing the legal implications of a project or writing the terms and conditions or privacy policy
  • Team member who needs to review, comment on, and/or contribute to the project
  • Developer who is new to using GitHub and wants to learn how to collaborate using GitHub in a team

If you need to view the progress of a piece of software while it’s being developed, if you would like to be able to comment on the progress, and if you’d like to have the option of contributing changes to the project, this book will show you how to effectively collaborate with a software development team by using GitHub.

Beyond Software

While GitHub is still primarily used to collaborate on the development of software, it’s also a great way for a team to collaborate on a wide range of projects. From the authoring of books (like this one) and the distribution of models for 3D printing to the crafting of legislation, whenever you have a team of people collaborating on a collection of documents, you should consider using GitHub to manage the process. Our examples will assume that you’re working on software because that is currently the most common use case, but this book is the perfect guide to collaborating via GitHub—whatever kind of project you’re working on.

Who This Book Is Not For

This book is designed to teach the core skills required to collaborate effectively using GitHub. If you are already familiar with forking, cloning, and using feature branches and pull requests for collaboration, you probably won’t learn that much.

Equally, if you are looking for an in-depth introduction to the Git version control system, this is not the book that you are looking for. This book covers just enough Git to do the job of introducing GitHub, but it’s not a comprehensive introduction to Git. For that you should read the excellent Version Control with Git by Jon Loeliger and Matthew McCullough (O’Reilly, 2012).

How to Use This Book

We’ve deliberately made this book as concise as possible. You should be able to read it pretty quickly. If you want to gain the confidence that comes from really understanding what GitHub is about and how to use it, try to read the book from start to finish.

However, we know that you’re busy. If you’re in a rush, start by skimming the first chapter. Chapter 1 gives you a brief introduction to Git, GitHub, and some key terms that you’ll need to understand to make sense of the rest of the book. Then feel free to just jump into whatever chapters you need. We’ve tried to write the book so that each chapter runs you through specific workflows, so you should be able to read just the chapter you need to complete a particular task.

Conventions Used in This Book

The following typographical conventions are used in this book:

Italic

Indicates new terms, URLs, email addresses, filenames, and file extensions.

Constant width

Used for program listings, as well as within paragraphs to refer to program elements such as variable or function names, databases, data types, environment variables, statements, and keywords.

Constant width bold

Shows commands or other text that should be typed literally by the user.

Constant width italic

Shows text that should be replaced with user-supplied values or by values determined by context.

Tip

This element signifies a tip or suggestion.

Note

This element signifies a general note.

Warning

This element indicates a warning or caution.

Safari® Books Online

Safari Books Online is an on-demand digital library that delivers expert content in both book and video form from the world’s leading authors in technology and business.

Technology professionals, software developers, web designers, and business and creative professionals use Safari Books Online as their primary resource for research, problem solving, learning, and certification training.

Safari Books Online offers a range of plans and pricing for enterprise, government, education, and individuals.

Members have access to thousands of books, training videos, and prepublication manuscripts in one fully searchable database from publishers like O’Reilly Media, Prentice Hall Professional, Addison-Wesley Professional, Microsoft Press, Sams, Que, Peachpit Press, Focal Press, Cisco Press, John Wiley & Sons, Syngress, Morgan Kaufmann, IBM Redbooks, Packt, Adobe Press, FT Press, Apress, Manning, New Riders, McGraw-Hill, Jones & Bartlett, Course Technology, and hundreds more. For more information about Safari Books Online, please visit us online.

How to Contact Us

Please address comments and questions concerning this book to the publisher:

  • O’Reilly Media, Inc.
  • 1005 Gravenstein Highway North
  • Sebastopol, CA 95472
  • 800-998-9938 (in the United States or Canada)
  • 707-829-0515 (international or local)
  • 707-829-0104 (fax)

We have a web page for this book, where we list errata, examples, and any additional information. You can access this page at http://bit.ly/intro-github.

To comment or ask technical questions about this book, send email to .

For more information about our books, courses, conferences, and news, see our website at http://www.oreilly.com.

Find us on Facebook: http://facebook.com/oreilly

Follow us on Twitter: http://twitter.com/oreillymedia

Watch us on YouTube: http://www.youtube.com/oreillymedia

Acknowledgments

Peter: I would like to thank my wife for her tireless support of the time and effort required to write this book—and the many other projects that keep me away from her more than I’d like that don’t have acknowledgments sections! I would also like to thank my Mum for always going above and beyond to give me the support I needed to always follow my dreams—even under often difficult circumstances.

Brent: I’d like to thank my Mom for her constant encouragement for reading, without which I may never have found a love for it. And also my Dad. Without him letting me watch him work on our computer, entertaining me with the Oscar the Grouch trash can utility on our Macintosh, and encouraging me to learn how to program, I would not be in the field I am today.

We would both like to thank the inspiring Matthew and Jordan McCullough and the rest of the GitHub team for their feedback on this book and their ideas and support over the years. Much of the best content here came from them. We’d also like to thank the amazing Meg Blanchette at O’Reilly, without whom this book would never have been conceived, written, or delivered—thanks so much, Meg!

Get Introducing GitHub now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.