精通Git(第2版)

Scott Chacon

出版时间

2017-08-31

ISBN

9787115463067

评分

★★★★★

标签

编程

书籍介绍

Git 仅用了几年时间就一跃成为了几乎一统商业及开源领域的版本控制系统。本书全面介绍Git 进行版本管理的基础和进阶知识。全书共10 章,内容由浅入深,展现了普通程序员和项目经理如何有效利用Git提高工作效率,掌握分支概念,灵活地将Git 用于服务器和分布式工作流,如何将开发项目迁移到Git,以及如何高效利用GitHub。

AI导读
核心看点
  • 全面覆盖Git基础命令与进阶工作流
  • 深入解析Git底层原理与数据结构
  • 提供多种场景下的分支管理策略
适合谁读
  • 希望系统掌握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"
作者简介
作者简介: 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。
目录
第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基本使用教程很多了,书中关于底层原理部分非常值得一看,对于从遇到问题、到发现问题本质、到解决问题很有帮助。
下载
收藏