IMPORTANT COVID-19 UPDATES

9781430218333

Pro Git

by
  • ISBN13:

    9781430218333

  • ISBN10:

    1430218339

  • Edition: 1st
  • Format: Paperback
  • Copyright: 2009-08-17
  • Publisher: Apress

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $35!
    Your order must be $35 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
List Price: $37.99 Save up to $23.59
  • Buy Used
    $28.49

    USUALLY SHIPS IN 2-4 BUSINESS DAYS

Supplemental Materials

What is included with this book?

Summary

Pro Git is written to help the professional developer learn the Git distributed source control tool from front to back. In this book, you'll learn why Git is different and powerful, how to use it from beginning usage to advanced features, how to transition to it from an existing system, and how it works under the covers. The book will also help you master a variety of common workflows, both as a contributor to a Git-based project and as a maintainer of such a project. This book assumes no prior knowledge of Git but will make you an expert, ready to dazzle your friends and impress your coworkers.

Table of Contents

Forewordp. xv
About the Authorp. xvii
About the Technical Reviewerp. xviii
Acknowledgmentsp. xix
Introductionp. xxi
Getting Startedp. 1
About Version Controlp. 1
Local Version Control Systemsp. 2
Centralized Version Control Systemsp. 3
Distributed Version Control Systemsp. 4
A Short History of Gitp. 5
Git Basicsp. 5
Snapshots, Not Differencesp. 6
Nearly Every Operation Is Localp. 7
Git Has Integrityp. 7
Git Generally Only Adds Datap. 7
The Three Statesp. 8
Installing Gitp. 9
Installing from Sourcep. 9
Installing on Linuxp. 10
Installing on Macp. 10
Installing on Windowsp. 11
First-Time Git Setupp. 11
Your Identityp. 11
Your Editorp. 12
Your Diff Toolp. 12
Checking Your Settingsp. 12
Getting Helpp. 13
Summaryp. 13
Git Basicsp. 15
Getting a Git Repositoryp. 15
Initializing a Repository in an Existing Directoryp. 15
Cloning an Existing Repositoryp. 16
Recording Changes to the Repositoryp. 16
Checking the Status of Your Filesp. 17
Tracking New Filesp. 18
Staging Modified Filesp. 18
Ignoring Filesp. 20
Viewing Your Staged and Unstaged Changesp. 20
Committing Your Changesp. 23
Skipping the Staging Areap. 24
Removing Filesp. 24
Moving Filesp. 25
Viewing the Commit Historyp. 26
Limiting Log Outputp. 30
Using a GUI to Visualize Historyp. 31
Undoing Thingsp. 32
Changing Your Last Commitp. 32
Unstaging a Staged Filep. 33
Unmodifying a Modified Filep. 34
Working with Remotesp. 35
Showing Your Remotesp. 35
Adding Remote Repositoriesp. 36
Fetching and Pulling from Your Remotesp. 36
Pushing to Your Remotesp. 37
Inspecting a Remotep. 37
Removing and Renaming Remotesp. 38
Taggingp. 38
Listing Your Tagsp. 39
Creating Tagsp. 39
Verifying Tagsp. 41
Tagging Laterp. 42
Sharing Tagsp. 43
Tips and Tricksp. 43
Auto-Completionp. 43
Git Aliasesp. 44
Summaryp. 45
Git Branchingp. 47
What a Branch Isp. 47
Basic Branching and Mergingp. 53
Basic Branchingp. 53
Basic Mergingp. 57
Basic Merge Conflictsp. 58
Branch Managementp. 60
Branching Workflowsp. 61
Long-Running Branchesp. 62
Topic Branchesp. 63
Remote Branchesp. 64
Pushingp. 68
Tracking Branchesp. 69
Deleting Remote Branchesp. 69
Rebasingp. 70
The Basic Rebasep. 70
More Interesting Rebasesp. 72
The Perils of Rebasingp. 74
Summaryp. 77
Git on the Serverp. 79
The Protocolsp. 79
Local Protocolp. 80
The SSH Protocolp. 81
The Git Protocolp. 81
The HTTP/S Protocolp. 82
Getting Git on a Serverp. 83
Putting the Bare Repository on a Serverp. 84
Small Setupsp. 85
SSH Accessp. 85
Generating Your SSH Public Keyp. 85
Setting Up the Serverp. 86
Public Accessp. 88
GitWebp. 90
Gitosisp. 91
Git Daemonp. 95
Hosted Gitp. 96
GitHubp. 97
Setting Up a User Accountp. 97
Creating a New Repositoryp. 99
Importing from Subversionp. 101
Adding Collaboratorsp. 102
Your Projectp. 103
Forking Projectsp. 104
GitHub Summaryp. 105
Summaryp. 105
Distributed Gitp. 107
Distributed Workflowsp. 107
Centralized Workflowp. 107
Integration-Manager Workflowp. 108
Dictator and Lieutenants Workflowp. 109
Contributing to a Projectp. 110
Commit Guidelinesp. 111
Private Small Teamp. 112
Private Managed Teamp. 118
Public Small Projectp. 124
Public Large Projectp. 127
Summaryp. 129
Maintaining a Projectp. 130
Working in Topic Branchesp. 130
Applying Patches from E-mailp. 130
Checking Out Remote Branchesp. 133
Determining What Is Introducedp. 134
Integrating Contributed Workp. 135
Tagging Your Releasesp. 140
Generating a Build Numberp. 141
Preparing a Releasep. 141
The Shortlogp. 142
Summaryp. 142
Git Toolsp. 143
Revision Selectionp. 143
Single Revisionsp. 143
Commit Rangesp. 147
Interactive Stagingp. 150
Stashingp. 153
Stashing Your Workp. 154
Creating a Branch from a Stashp. 156
Rewriting Historyp. 156
Changing the Last Commitp. 156
Changing Multiple Commit Messagesp. 157
Reordering Commitsp. 158
Squashing a Commitp. 159
Splitting a Commitp. 160
The Nuclear Option: filter-branchp. 160
Debugging with Gitp. 162
File Annotationp. 162
Binary Searchp. 163
Submodulesp. 165
Starting with Submodulesp. 165
Cloning a Project with Submodulesp. 167
Superprojectsp. 169
Issues with Submodulesp. 169
Subtree Mergingp. 171
Summaryp. 173
Customizing Gitp. 175
Git Configurationp. 175
Basic Client Configurationp. 176
Colors in Gitp. 178
External Merge and Diff Toolsp. 179
Formatting and Whitespacep. 181
Server Configurationp. 183
Git Attributesp. 184
Binary Filesp. 184
Keyword Expansionp. 186
Exporting Your Repositoryp. 189
Merge Strategiesp. 190
Git Hooksp. 190
Installing a Hookp. 190
Client-Side Hooksp. 191
Server-Side Hooksp. 192
An Example Git-Enforced Policyp. 193
Server-Side Hookp. 193
Client-Side Hooksp. 199
Summaryp. 202
Git and Other Systemsp. 203
Git and Subversionp. 203
git svnp. 203
Setting Upp. 204
Getting Startedp. 204
Committing Back to Subversionp. 206
Pulling in New Changesp. 207
Git Branching Issuesp. 208
Subversion Branchingp. 209
Subversion Commandsp. 210
Git-Svn Summaryp. 212
Migrating to Gitp. 212
Importingp. 213
Perforcep. 214
A Custom Importerp. 216
Summaryp. 221
Git Internalsp. 223
Plumbing and Porcelainp. 223
Git Objectsp. 224
Tree Objectsp. 226
Commit Objectsp. 228
Object Storagep. 231
Git Referencesp. 232
The HEADp. 233
Tagsp. 234
Remotesp. 235
Packfilesp. 235
The Refspecp. 238
Pushing Refspecsp. 239
Deleting Referencesp. 240
Transfer Protocolsp. 240
The Dumb Protocolp. 240
The Smart Protocolp. 242
Downloading Datap. 243
Maintenance and Data Recoveryp. 244
Maintenancep. 244
Data Recoveryp. 245
Removing Objectsp. 247
Summaryp. 250
Appendix Creative Commons Legal Codep. 251
Indexp. 259
Table of Contents provided by Ingram. All Rights Reserved.

Rewards Program

Write a Review