Git版本控制(第二版,影印版)
Jon Loeliger, Matthew McCullough
出版时间:2013年06月
页数:434
快来使用Git吧,它可以帮助你跟踪、分支、合并和管理代码版本。通过一系列手把手的讲解,这本实用指南将让你快速了解Git的基础知识和高级技术,它还提供了友好但又严密的建议来帮助你探索这个开源版本控制系统的诸多功能。
这个彻底修订过的版本还包括了操纵版本树、reflog与stash扩展应用的技巧以及针对GitHub资源库的完整介绍。一旦你理解如何利用Git系统的灵活性,你就可以以近乎无限种的方式来管理代码开发。本书将为你展示如下内容:
· 学习如何在若干个现实世界开发场景中使用Git
· 深入了解Git的常见用例、初始任务和基本功能
· 在集中化版本控制和分布式版本控制中使用该系统
· 学习如何管理合并、冲突、补丁和差异
· 运用诸如rebase、hook这样一些高级技巧来处理子模块
· 与Subversion(SVN)资源库的交互——包括从SVN到Git的转化
· 通过GitHub来探索、使用开源项目并作出自己的贡献

Jon Loeliger是Freescale半导体公司的一名软件工程师,他从事过Git、Linux和U-Boot这样一些开源项目。他在Linux World这样的会议中讲解过Git,并且也为《Linux Magazine》撰稿。
Matthew McCullough是GitHub培训的副总裁,他拥有15年的企业软件开发经验,同时也是一名开源培训师。Matthew是O’Reilly出版社“Git大师课程(Git Master Class)”系列的创建者。
  1. Chapter 1: Introduction
  2. Background
  3. The Birth of Git
  4. Precedents
  5. Timeline
  6. What’s in a Name?
  7. Chapter 2: Installing Git
  8. Using Linux Binary Distributions
  9. Obtaining a Source Release
  10. Building and Installing
  11. Installing Git on Windows
  12. Chapter 3: Getting Started
  13. The Git Command Line
  14. Quick Introduction to Using Git
  15. Configuration Files
  16. Inquiry
  17. Chapter 4: Basic Git Concepts
  18. Basic Concepts
  19. Object Store Pictures
  20. Git Concepts at Work
  21. Chapter 5: File Management and the Index
  22. It’s All About the Index
  23. File Classifications in Git
  24. Using git add
  25. Some Notes on Using git commit
  26. Using git rm
  27. Using git mv
  28. A Note on Tracking Renames
  29. The .gitignore File
  30. A Detailed View of Git’s Object Model and Files
  31. Chapter 6: Commits
  32. Atomic Changesets
  33. Identifying Commits
  34. Commit History
  35. Finding Commits
  36. Chapter 7: Branches
  37. Reasons for Using Branches
  38. Branch Names
  39. Using Branches
  40. Creating Branches
  41. Listing Branch Names
  42. Viewing Branches
  43. Checking out Branches
  44. Deleting Branches
  45. Chapter 8: Diffs
  46. Forms of the git diff Command
  47. Simple git diff Example
  48. git diff and Commit Ranges
  49. git diff with Path Limiting
  50. Comparing How Subversion and Git Derive diffs
  51. Chapter 9: Merges
  52. Merge Examples
  53. Working with Merge Conflicts
  54. Merge Strategies
  55. How Git Thinks About Merges
  56. Chapter 10: Altering Commits
  57. Caution About Altering History
  58. Using git reset
  59. Using git cherry-pick
  60. Using git revert
  61. reset, revert, and checkout
  62. Changing the Top Commit
  63. Rebasing Commits
  64. Chapter 11: The Stash and the Reflog
  65. The Stash
  66. The Reflog
  67. Chapter 12: Remote Repositories
  68. Repository Concepts
  69. Referencing Other Repositories
  70. Example Using Remote Repositories
  71. Remote Repository Development Cycle in Pictures
  72. Remote Configuration
  73. Working with Tracking Branches
  74. Adding and Deleting Remote Branches
  75. Bare Repositories and git push
  76. Chapter 13: Repository Management
  77. A Word About Servers
  78. Publishing Repositories
  79. Repository Publishing Advice
  80. Repository Structure
  81. Living with Distributed Development
  82. Knowing Your Place
  83. Working with Multiple Repositories
  84. Chapter 14: Patches
  85. Why Use Patches?
  86. Generating Patches
  87. Mailing Patches
  88. Applying Patches
  89. Bad Patches
  90. Patching Versus Merging
  91. Chapter 15: Hooks
  92. Installing Hooks
  93. Available Hooks
  94. Chapter 16: Combining Projects
  95. The Old Solution: Partial Checkouts
  96. The Obvious Solution: Import the Code into Your Project
  97. The Automated Solution: Checking out Subprojects Using Custom Scripts
  98. The Native Solution: gitlinks and git submodule
  99. Chapter 17: Submodule Best Practices
  100. Submodule Commands
  101. Why Submodules?
  102. Submodules Preparation
  103. Why Read Only?
  104. Why Not Read Only?
  105. Examining the Hashes of Submodule Commits
  106. Credential Reuse
  107. Use Cases
  108. Multilevel Nesting of Repos
  109. Submodules on the Horizon
  110. Chapter 18: Using Git with Subversion Repositories
  111. Example: A Shallow Clone of a Single Branch
  112. Pushing, Pulling, Branching, and Merging with git svn
  113. Miscellaneous Notes on Working with Subversion
  114. Chapter 19: Advanced Manipulations
  115. Using git filter-branch
  116. How I Learned to Love git rev-list
  117. Interactive Hunk Staging
  118. Recovering a Lost Commit
  119. Chapter 20: Tips, Tricks, and Techniques
  120. Interactive Rebase with a Dirty Working Directory
  121. Remove Left-Over Editor Files
  122. Garbage Collection
  123. Split a Repository
  124. Tips for Recovering Commits
  125. Subversion Conversion Tips
  126. Manipulating Branches from Two Repositories
  127. Recovering from an Upstream Rebase
  128. Make Your Own Git Command
  129. Quick Overview of Changes
  130. Cleaning Up
  131. Using git-grep to Search a Repository
  132. Updating and Deleting refs
  133. Following Files that Moved
  134. Keep, But Don’t Track, This File
  135. Have You Been Here Before?
  136. Chapter 21: Git and GitHub
  137. Repo for Public Code
  138. Creating a GitHub Repository
  139. Social Coding on Open Source
  140. Watchers
  141. News Feed
  142. Forks
  143. Creating Pull Requests
  144. Managing Pull Requests
  145. Notifications
  146. Finding Users, Projects, and Code
  147. Wikis
  148. GitHub Pages (Git for Websites)
  149. In-Page Code Editor
  150. Subversion Bridge
  151. Tags Automatically Becoming Archives
  152. Organizations
  153. REST API
  154. Social Coding on Closed Source
  155. Eventual Open Sourcing
  156. Coding Models
  157. GitHub Enterprise
  158. GitHub in Sum
书名:Git版本控制(第二版,影印版)
国内出版社:东南大学出版社
出版时间:2013年06月
页数:434
书号:978-7-5641-4196-7
原版书书名:Version Control with Git, 2nd Edition
原版书出版商:O'Reilly Media
Jon Loeliger
 
Jon Loeligher,Freescale半导体公司的软件工程师,从事开源项目的工作,比如Git、Linux和U-Boot。他在Linux World等会议上公开讲授Git,而且还经常为Linux Magazine撰写稿件。
 
 
Matthew McCullough
 
Matthew McCullough,GitHub培训项目的VP,有15年的企业软件开发经验,而且还是一名开源教育家。Matthew是O’Reilly Git Master Class系列的创始人。
 
 
The animal on the cover of Version Control with Git is a long-eared bat. It is a fairly large bat that is common and widespread throughout Great Britain and Ireland. It can also be found in Japan. Often seen in colonies of 50 to a 100 or more, it lives in open woodlands, as well as parks and gardens and in spaces under houses and church roofs. It also hibernates in caves, where it is more solitary in habit.

The long-eared bat is a medium-size bat with a broad wingspan of about 25 cm. Its ears are very long and have a very distinctive fold—their inner edges meet each other on the top of the head, and their outer edges end just behind the angle of the mouth. When the bat sleeps, it folds its ears under its wings. During flight, the ears are pointing forward. Its fur is long, fluffy, and silky, extending a short way onto the surface of its wings. It is dusky brown in color on top and light or dirty brown in color below. Juveniles are pale grey, lacking the brown tinges of the adults. Their diet consists of flies, moths, and beetles. It glides among foliage, frequently hovering to scour for insects. When traveling to another tree, its flight is swift, strong, and close to the ground.

Long-eared bats breed in autumn and spring. Pregnant females form nursery colonies of 100 or more in early summer, and the single young or twins are born in June and July. Bats are the only true flying mammals. Contrary to popular misconception, they are not blind—many can actually see very well. All British bats use echolocation to orient themselves at night; they emit bursts of sound that are of such high frequencies they are beyond the human range of hearing and are therefore called “ultrasound.” The bats then listen to and interpret the echoes bounced back from objects around them (including prey), which allows them to build a “sound-picture” of their surroundings.

Like all bats, this species is vulnerable to a number of threats, including the loss of roost sites, as hollow trees are often cut down if thought unsafe. Pesticide use has devastating effects, causing severe declines in insect abundance and contaminating food with potentially fatal toxins. Insecticides applied to timbers inside buildings where roosts occur are a particular danger—the initial treatment can wipe out whole colonies (spraying timber where bats are roosting is now illegal), but the effects of these chemicals can be lethal to bats for up to 20 years. In Britain, under the Wildlife and Countryside Act, it is illegal to intentionally kill, injure, take, or sell a bat; to possess a live bat or part of a bat; and to intentionally, recklessly damage, obstruct, or destroy access to bat roosts. Under the conservation regulations, it is an offense to damage or destroy breeding sites or resting places. Offenders can be charged up to 5,000 pounds per bat affected and be sentenced to six months imprisonment.