Pro Git
By: by Scott Chacon, Ben Straub
Contributors: Straub, Ben, author; SpringerLink (Online service)
Edition: 2nd edition
Publisher: Apress
Published: 2015
Place of publication: New York, New York, United States of America; Berkeley, California, United States of America
Language: eng
Format: E-book
Number of pages: 456
ISBN-13: 9781484200766
Subjects: Computer Science, general; Computer science
Description: *Pro Git* (Second Edition) is your fully-updated guide to Git and its usage in the modern world. Git has come a long way since it was first developed by Linus Torvalds for Linux kernel development. It has taken the open source world by storm since its inception in 2005, and this book teaches you how to use it like a pro. Effective and well-implemented version control is a necessity for successful web projects, whether large or small. With this book you’ll learn how to master the world of distributed version workflow, use the distributed features of Git to the full, and extend Git to meet your every need. Written by Git pros Scott Chacon and Ben Straub, Pro Git (Second Edition) builds on the hugely successful first edition, and is now fully updated for Git version 2.0, as well as including an indispensable chapter on GitHub. It’s the best book for all your Git needs.
Notes: On cover: "Everything you need to know about Git".
Table of contents: title: Preface by Scott Chacon
pagenum: iii; title: Preface by Ben Straub
pagenum: v; title: Dedications
pagenum: vii; title: Contributors
pagenum: ix; title: Introduction
pagenum: xiii; label: Chapter 1
title: Getting Started
pagenum: 27; title: About Version Control
pagenum: 27; title: Local Version Control Systems
pagenum: 27; title: Centralized Version Control Systems
pagenum: 28; title: Distributed Version Control Systems
pagenum: 29; title: A Short History of Git
pagenum: 31; title: Git Basics
pagenum: 31; title: Snapshots, Not Differences
pagenum: 32; title: Nearly Every Operation Is Local
pagenum: 33; title: Git Has Integrity
pagenum: 33; title: Git Generally Only Adds Data
pagenum: 34; title: The Three States
pagenum: 34; title: The Command Line
pagenum: 36; title: Installing Git
pagenum: 36; title: Installing on Linux
pagenum: 36; title: Installing on Mac
pagenum: 37; title: Installing on Windows
pagenum: 38; title: Installing from Source
pagenum: 38; title: First-Time Git Setup
pagenum: 39; title: Your Identity
pagenum: 39; title: Your Editor
pagenum: 40; title: Checking Your Settings
pagenum: 40; title: Getting Help
pagenum: 41; title: Summary
pagenum: 41; label: Chapter 2
title: Git Basics
pagenum: 43; title: Getting a Git Repository
pagenum: 43; title: Initializing a Repository in an Existing Directory
pagenum: 43; title: Cloning an Existing Repository
pagenum: 44; title: Recording Changes to the Repository
pagenum: 45; title: Checking the Status of Your Files
pagenum: 46; title: Tracking New Files
pagenum: 47; title: Staging Modified Files
pagenum: 47; title: Short Status
pagenum: 49; title: Ignoring Files
pagenum: 50; title: Viewing Your Staged and Unstaged Changes
pagenum: 51; title: Committing Your Changes
pagenum: 54; title: Skipping the Staging Area
pagenum: 55; title: Removing Files
pagenum: 56; title: Moving Files
pagenum: 57; title: Viewing the Commit History
pagenum: 58; title: Limiting Log Output
pagenum: 63; title: Undoing Things
pagenum: 65; title: Unstaging a Staged File
pagenum: 66; title: Unmodifying a Modified File
pagenum: 67; title: Working with Remotes
pagenum: 68; title: Showing Your Remotes
pagenum: 69; title: Adding Remote Repositories
pagenum: 70; title: Fetching and Pulling from Your Remotes
pagenum: 71; title: Pushing to Your Remotes
pagenum: 71; title: Inspecting a Remote
pagenum: 72; title: Removing and Renaming Remotes
pagenum: 73; title: Tagging
pagenum: 73; title: Listing Your Tags
pagenum: 74; title: Creating Tags
pagenum: 74; title: Annotated Tags
pagenum: 75; title: Lightweight Tags
pagenum: 75; title: Tagging Later
pagenum: 76; title: Sharing Tags
pagenum: 77; title: Checking out Tags
pagenum: 78; title: Git Aliases
pagenum: 78; title: Summary
pagenum: 79; label: Chapter 3
title: Git Branching
pagenum: 81; title: Branches in a Nutshell
pagenum: 81; title: Creating a New Branch
pagenum: 84; title: Switching Branches
pagenum: 85; title: Basic Branching and Merging
pagenum: 89; title: Basic Branching
pagenum: 89; title: Basic Merging
pagenum: 94; title: Basic Merge Conflicts
pagenum: 96; title: Branch Management
pagenum: 99; title: Branching Workflows
pagenum: 100; title: Long-Running Branches
pagenum: 100; title: Topic Branches
pagenum: 101; title: Remote Branches
pagenum: 103; title: Pushing
pagenum: 109; title: Tracking Branches
pagenum: 111; title: Pulling
pagenum: 113; title: Deleting Remote Branches
pagenum: 113; title: Rebasing
pagenum: 113; title: The Basic Rebase
pagenum: 114; title: More Interesting Rebases
pagenum: 116; title: The Perils of Rebasing
pagenum: 119; title: Rebase When You Rebase
pagenum: 122; title: Rebase vs. Merge
pagenum: 123; title: Summary
pagenum: 124; label: Chapter 4
title: Git on the Server
pagenum: 125; title: The Protocols
pagenum: 126; title: Local Protocol
pagenum: 126; title: The HTTP Protocols
pagenum: 127; title: The SSH Protocol
pagenum: 130; title: The Git Protocol
pagenum: 130; title: Getting Git on a Server
pagenum: 131; title: Putting the Bare Repository on a Server
pagenum: 132; title: Small Setups
pagenum: 133; title: Generating Your SSH Public Key
pagenum: 134; title: Setting Up the Server
pagenum: 135; title: Git Daemon
pagenum: 138; title: Smart HTTP
pagenum: 139; title: GitWeb
pagenum: 141; title: GitLab
pagenum: 144; title: Installation
pagenum: 144; title: Administration
pagenum: 145; title: Basic Usage
pagenum: 148; title: Working Together
pagenum: 148; title: Third Party Hosted Options
pagenum: 149; title: Summary
pagenum: 149; label: Chapter 5
title: Distributed Git
pagenum: 151; title: Distributed Workflows
pagenum: 151; title: Centralized Workflow
pagenum: 151; title: Integration-Manager Workflow
pagenum: 152; title: Dictator and Lieutenants Workflow
pagenum: 153; title: Workflows Summary
pagenum: 154; title: Contributing to a Project
pagenum: 155; title: Commit Guidelines
pagenum: 155; title: Private Small Team
pagenum: 157; title: Private Managed Team
pagenum: 164; title: Forked Public Project
pagenum: 170; title: Public Project over E-Mail
pagenum: 174; title: Summary
pagenum: 177; title: Maintaining a Project
pagenum: 177; title: Working in Topic Branches
pagenum: 178; title: Applying Patches from E-mail
pagenum: 178; title: Checking Out Remote Branches
pagenum: 182; title: Determining What Is Introduced
pagenum: 183; title: Integrating Contributed Work
pagenum: 184; title: Tagging Your Releases
pagenum: 191; title: Generating a Build Number
pagenum: 192; title: Preparing a Release
pagenum: 193; title: The Shortlog
pagenum: 193; title: Summary
pagenum: 194; label: Chapter 6
title: GitHub
pagenum: 195; title: Account Setup and Configuration
pagenum: 195; title: SSH Access
pagenum: 196; title: Your Avatar
pagenum: 198; title: Your Email Addresses
pagenum: 199; title: Two Factor Authentication
pagenum: 200; title: Contributing to a Project
pagenum: 201; title: Forking Projects
pagenum: 201; title: The GitHub Flow
pagenum: 202; title: Advanced Pull Requests
pagenum: 210; title: Markdown
pagenum: 215; title: Maintaining a Project
pagenum: 220; title: Creating a New Repository
pagenum: 220; title: Adding Collaborators
pagenum: 222; title: Managing Pull Requests
pagenum: 224; title: Mentions and Notifications
pagenum: 229; title: Special Files
pagenum: 233; title: README
pagenum: 233; title: CONTRIBUTING
pagenum: 234; title: Project Administration
pagenum: 234; title: Managing an Organization
pagenum: 236; title: Organization Basics
pagenum: 236; title: Teams
pagenum: 237; title: Audit Log
pagenum: 239; title: Scripting GitHub
pagenum: 240; title: Hooks
pagenum: 241; title: The GitHub API
pagenum: 245; title: Basic Usage
pagenum: 246; title: Commenting on an Issue
pagenum: 247; title: Changing the Status of a Pull Request
pagenum: 248; title: Octokit
pagenum: 250; title: Summary
pagenum: 251; label: Chapter 7
title: Git Tools
pagenum: 253; title: Revision Selection
pagenum: 253; title: Single Revisions
pagenum: 253; title: Short SHA
pagenum: 253; title: Branch References
pagenum: 255; title: RefLog Shortnames
pagenum: 256; title: Ancestry References
pagenum: 257; title: Commit Ranges
pagenum: 259; title: Interactive Staging
pagenum: 262; title: Staging and Unstaging Files
pagenum: 262; title: Staging Patches
pagenum: 265; title: Stashing and Cleaning
pagenum: 266; title: Stashing Your Work
pagenum: 266; title: Creative Stashing
pagenum: 269; title: Creating a Branch from a Stash
pagenum: 270; title: Cleaning Your Working Directory
pagenum: 271; title: Signing Your Work
pagenum: 272; title: GPG Introduction
pagenum: 273; title: Signing Tags
pagenum: 273; title: Verifying Tags
pagenum: 274; title: Signing Commits
pagenum: 275; title: Everyone Must Sign
pagenum: 277; title: Searching
pagenum: 277; title: Git Grep
pagenum: 277; title: Git Log Searching
pagenum: 279; title: Rewriting History
pagenum: 280; title: Changing the Last Commit
pagenum: 281; title: Changing Multiple Commit Messages
pagenum: 281; title: Reordering Commits
pagenum: 284; title: Squashing Commits
pagenum: 284; title: Splitting a Commit
pagenum: 286; title: The Nuclear Option: filter-branch
pagenum: 287; title: Reset Demystified
pagenum: 289; title: The Three Trees
pagenum: 289; title: The Workflow
pagenum: 291; title: The Role of Reset
pagenum: 297; title: Reset With a Path
pagenum: 302; title: Squashing
pagenum: 305; title: Check It Out
pagenum: 308; title: Summary
pagenum: 310; title: Advanced Merging
pagenum: 311; title: Merge Conflicts
pagenum: 311; title: Undoing Merges
pagenum: 323; title: Other Types of Merges
pagenum: 326; title: Rerere
pagenum: 331; title: Debugging with Git
pagenum: 337; title: File Annotation
pagenum: 337; title: Binary Search
pagenum: 339; title: Submodules
pagenum: 341; title: Starting with Submodules
pagenum: 341; title: Cloning a Project with Submodules
pagenum: 343; title: Working on a Project with Submodules
pagenum: 345; title: Submodule Tips
pagenum: 356; title: Issues with Submodules
pagenum: 358; title: Bundling
pagenum: 360; title: Replace
pagenum: 364; title: Credential Storage
pagenum: 373; title: Under the Hood
pagenum: 374; title: A Custom Credential Cache
pagenum: 377; title: Summary
pagenum: 379; label: Chapter 8
title: Customizing Git
pagenum: 381; title: Git Configuration
pagenum: 381; title: Basic Client Configuration
pagenum: 382; title: Colors in Git
pagenum: 385; title: External Merge and Diff Tools
pagenum: 386; title: Formatting and Whitespace
pagenum: 390; title: Server Configuration
pagenum: 392; title: Git Attributes
pagenum: 393; title: Binary Files
pagenum: 393; title: Keyword Expansion
pagenum: 396; title: Exporting Your Repository
pagenum: 399; title: Merge Strategies
pagenum: 400; title: Git Hooks
pagenum: 401; title: Installing a Hook
pagenum: 401; title: Client-Side Hooks
pagenum: 402; title: Server-Side Hooks
pagenum: 404; title: An Example Git-Enforced Policy
pagenum: 405; title: Server-Side Hook
pagenum: 405; title: Client-Side Hooks
pagenum: 411; title: Summary
pagenum: 415; label: Chapter 9
title: Git and Other Systems
pagenum: 417; title: Git as a Client
pagenum: 417; title: Git and Subversion
pagenum: 417; title: Git and Mercurial
pagenum: 429; title: Git and Perforce
pagenum: 438; title: Git and TFS
pagenum: 454; title: Migrating to Git
pagenum: 463; title: Subversion
pagenum: 464; title: Mercurial
pagenum: 466; title: Perforce
pagenum: 468; title: TFS
pagenum: 471; title: A Custom Importer
pagenum: 472; title: Summary
pagenum: 479; label: Chapter 10
title: Git Internals
pagenum: 481; title: Plumbing and Porcelain
pagenum: 481; title: Git Objects
pagenum: 482; title: Tree Objects
pagenum: 485; title: Commit Objects
pagenum: 488; title: Object Storage
pagenum: 491; title: Git References
pagenum: 493; title: The HEAD
pagenum: 494; title: Tags
pagenum: 495; title: Remotes
pagenum: 497; title: Packfiles
pagenum: 497; title: The Refspec
pagenum: 500; title: Pushing Refspecs
pagenum: 503; title: Deleting References
pagenum: 503; title: Transfer Protocols
pagenum: 504; title: The Dumb Protocol
pagenum: 504; title: The Smart Protocol
pagenum: 506; title: Protocols Summary
pagenum: 509; title: Maintenance and Data Recovery
pagenum: 510; title: Maintenance
pagenum: 510; title: Data Recovery
pagenum: 511; title: Removing Objects
pagenum: 514; title: Environment Variables
pagenum: 518; title: Global Behavior
pagenum: 518; title: Repository Locations
pagenum: 518; title: Pathspecs
pagenum: 519; title: Committing
pagenum: 519; title: Networking
pagenum: 520; title: Diffing and Merging
pagenum: 520; title: Debugging
pagenum: 521; title: Miscellaneous
pagenum: 523; title: Summary
pagenum: 523; title: Git in Other Environments
pagenum: 525; title: Embedding Git in Your Applications
pagenum: 541; title: Git Commands
pagenum: 553; title: Index
pagenum: 571