Pro Git (Second Edition)

Scott Chacon

出版社

Apress

出版时间

2014-11-09

ISBN

9781484200773

评分

★★★★★

标签

编程

书籍介绍
这不是一本读完就能上手的工具书,而是一本能重塑你对版本控制认知的手册。它由 GitHub 联合创始人主笔,被无数读者奉为“Git 必知必会”的权威来源,但其真正价值不在命令罗列,而在把分支、合并、衍合这些概念讲“透”。书中最著名的莫过于那句近乎警告的“永远不要衍合已推送到公共仓库的提交”——它不是技巧,而是一种协作伦理:你的提交一旦进入公共领域,就属于大家,擅自改写便是对团队的失信。正因如此,它常被拿来与廖雪峰教程、Professional Git 比较:入门可取后者,但深入协作场景,这本书对分支策略、远程同步、子模块等工程实践的系统梳理,几乎无可替代。适合已跨入门槛、渴望把零碎经验整合为体系的开发者。
AI导读
核心看点
  • Git之父Linus Torvalds开发,GitHub联合创始人撰写,权威指南。
  • 从基础命令到分支合并、服务器搭建,全面覆盖Git工作流与原理。
  • 深入解析Git内部对象模型,揭示内容寻址文件系统的设计哲学。
读者共识
  • Git领域公认的经典之作,内容全面且配图清晰,易于理解。
  • 虽叙述结构略显混乱,但作为参考手册价值极高,久负盛名。
  • 强调命令行优于GUI,帮助读者建立正确的版本控制思维模式。
精彩摘录
  • "如果顺着一个分支走下去可以到达另一个分支,git合并时只会简单地把指针前移,因为没有什么分歧要解决,这个过程叫Fast forward"
  • "衍合按照每行改变发生的次序重演发生的改变,而合并是把最终结果合在一起。"
  • "Do not rebase commits that you have pushed to a public repository. If you follow that guideline, you’ll be fine. If you don’t, people will hate you, and you’ll be scorned by friends and family. 永远不要衍合那些已经推送到公共仓库的更新。 如果你遵循这条金科玉律,就不会出差错。否则,人民群众会仇恨你,你的朋友和家人也会嘲笑你,唾弃你。"
  • "指定两个引用中的一个包含但又不被两者同时包含的分支"
  • "使用这项技术的时候你必须小心,因为修正会改变提交的SHA-1值。这个很像是一次非常小的rebase——不要在你最近一次提交被推送后还去修正它"
  • "一个常见的问题是当开发者对子模块做了一个本地的变更但是并没有推送到公共服务器。然后他们提交了一个指向那个非公开状态的指针然后推送上层项目。当其他开发者试图运行git submodule update,那个子模块系统会找不到所引用的提交,因为它只存在于第一个开发者的系统中 你不得不去查看谁最后变更了子模块 git log -l rack 然后,你给那个家伙发电子邮件说他一通。"
  • "子树归并的思想是你拥有两个工程,其中一个项目映射到另外一个项目的子目录中,反过来也一样。当你指定一个子树归并,git可以聪明地探知其中一个是另外一个的子树从而实现正确的归并"
  • "让git把所有pbxproj文件当成二进制文件,在.gitattributes文件中设置如下: *.pbxproj -crlf -diff git 1.6后可以用一个宏binary代替-crlf -diff"
目录
1. Getting Started
1.1 About Version Control
1.2 A Short History of Git
1.3 Git Basics
1.4 The Command Line

显示全部
用户评论
= =
from 20161228 to 20170105: 对照着中英文版本进行阅读,只看了前三章,不愧为官方推荐教程,对于Git的方方面面都做了详尽的论述,尽可能最大程度地解释清楚相应功能背后的实现原理。这里给出Git零基础学习者一个最佳实践:廖雪峰Git教程+《Pro Git》前三章,研读完这两部分应该就掌握了Git的八成内容,剩下的在工程实践中如有需求再来翻翻也不迟。总体说来是一本好书,如果你想把Git用好用精,这本书一定非读不可哦。
全面介绍git, 版本控制的第一本书
非常完备的git学习资料
只看了前三章,是个很不错的git入门资料。
chapter1-5 值得读,介绍git和github基本用法和场景。然后直接读chapter10就好了,了解git一些底层原理。 chapter6-9作为一本书不值得读,因为里面很多情况很特殊,一些命令大部分使用者很少用到,对git的理解帮助也不大。给个三星差不多了。搞不懂为什么分这么高。
读了前一半
没错我在官网读的。还有mobi版本。还差一点点没有读完。难道就要一直是在读的状态了么。2020-05-17又拾起来了
git真的是一个很不错的发明!虽然之前自己一个人用了几年,但都不过是作为云同步平台罢了,近期接触到分支等方面的需求才开始细细关注之。目前读了前五章,感觉已经完全够用了!
下载
收藏