精通Git(第2版)

Scott Chacon

出版时间

2017-08-31

ISBN

9787115463067

评分

★★★★★

标签

编程

书籍介绍
这本书最耐人寻味的地方,在于它不满足于教你'怎么用Git',而是逼你理解Git'为什么这样设计'。'快照而非差异''几乎所有操作都在本地执行''Git通常只增加数据'——这些看似枯燥的原则,恰恰是理解分支、合并、衍合的钥匙。书中那句'永远不要衍合已推送到公共仓库的提交,否则人民群众会仇恨你',把团队协作里最易踩的坑讲得既严厉又生动。多位读者反馈:它适合'先用起来、用多了再回看',前两三章打基础、后面攻进阶;也有人遗憾翻译略绕、缺少拿来即用的练手例子。它不是速查手册,而是一本帮你建立完整知识体系的入门兼进阶之书:适合先动手、再回头啃原理的人。
作者简介
作者简介: Scott Chacon GitHub联合创始人,曾任GitHub首席信息官,现任在线教育创业公司Chatterbug的首席执行官。在GitHub工作的7年里,他负责维护Git主页git-scm.com,并在许多技术大会上发表过演讲,以此传播Git文化和开源精神。GitHub ID:schacon。 Ben Straub 软件开发者,曾就职于GitHub,参与开发了Libgit2开发包以及GitHub for Windows客户端,另著有《GitHub实践》。GitHub ID:ben。 译者简介: 门佳 GNU/Linux深度用户,喜欢溯本求源,挖掘技术背后的来龙去脉,对程序语言设计理论、编译技术、操作系统设计与实现、Web开发等领域均有涉猎,译著包括《Linux Shell脚本攻略》《TCP Sockets编程》《精通JavaScript(第2版)》《Linux命令行与shell脚本编程大全(第3版)》等。 刘梓懿 ThoughtWorks高级软件工程师,亚马逊AWS认证架构师,曾为多个世界知名客户提供软件交付和咨询服务,在大型组织的云架构应用、持续交付、分层自动化测试体系建设和DevOps转型等方面拥有丰富的实践经验。GitHub ID:richardzone。
AI导读
核心看点
  • 全面覆盖Git基础命令与进阶工作流
  • 深入解析Git底层原理与数据结构
  • 提供多种场景下的分支管理策略
读者共识
  • 构建知识体系的高效入门首选书籍
  • 原理讲解通俗易懂,配图清晰直观
  • 翻译偶有晦涩,但内容质量极高
精彩摘录
  • "如果顺着一个分支走下去可以到达另一个分支,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章 入门  1
1.1 关于版本控制  1
1.1.1 本地版本控制系统  1
1.1.2 集中式版本控制系统  2
1.1.3 分布式版本控制系统  3

显示全部
用户评论
实用git操作
挺好,学到了stash这个命令,rebase占了好大的篇幅,后面的就没什么印象了
git + sphinx-doc + atom, 写作好帮手
非常好的入门书
写的挺好的,对于三棵树的印象很深,一些偏底层的也只略读,待用到再翻吧
图文例子,文字说明多,很易读。感兴趣的细读,不感兴趣的快速扫过即可,大概一到两周空闲时间可以学完。感觉比自己什么不懂一点点查百度要学得快且深,想较系统学git看这本应该够了。但是,这书并不适合所有人,对只是想学几句git命令行上工程的人,可能读来有点枯燥,因为工作里真正用得多的就只是前几章而已,所以这里有保留地推荐,评个四星。 想来工作上用的svn,读这本时自己跟着在个人云服务器上部了个私有git仓库,将代码推送上,将来再部个gitlab,结合go,docker,k8s等,实现个cicd完整云原生web服务开发链。希望以后工作之余能做成吧。
Git 内部原理部分是目前为止市面“最好”的介绍材料
已经是写git最好的书了吧
关于git基本使用教程很多了,书中关于底层原理部分非常值得一看,对于从遇到问题、到发现问题本质、到解决问题很有帮助。
下载
收藏