Pro Git - Scott Chacon

Pro Git

Scott Chacon

出版社

Apress

出版时间

2009-08-27

ISBN

9781430218333

评分

★★★★★
书籍介绍
Git is the version control system developed by Linus Torvalds for Linux kernel development. It took the open source world by storm since its inception in 2005, and is used by small development shops and giants like Google, Red Hat, and IBM, and of course many open source projects. * A book by Git experts to turn you into a Git expert * Introduces the world of distributed version control * Shows how to build a Git development workflow What you’ll learn * Use Git as a programmer or a project leader. * Become a fluent Git user. * Use distributed features of Git to the full. * Acquire the ability to insert Git in the development workflow. * Migrate programming projects from other SCMs to Git. * Learn how to extend Git. This book is for all open source developers: you are bound to encounter it somewhere in the course of your working life. Proprietary software developers will appreciate Git’s enormous scalability, since it is used for the Linux project, which comprises thousands of developers and testers.
AI导读
核心看点
  • 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 is a Git evangelist and Ruby developer employed at Logical Awesome working on GitHub.com. He is the author of the Git Internals Peepcode PDF as well as the maintainer of the Git homepage and the Git Community Book. Scott has presented at RailsConf, RubyConf, Scotland on Rails, Ruby Kaigi, OSCON and a number of local groups and has done corporate training on Git across the country.
用户评论
有需要再深究
我很同意我的一个同事说过的一句话:要使用git,真不能拿来敲个git --help就用,你得好好看一下先。 而至于看什么,这么免费的在线书籍,绝对是不二之选,花个几个小时,把前四章过一篇(当然,要边看边练习),你就可以用git做日常工作了。我断断续续读完了真本书,不能说全掌握了,但是要是遇到什么问题,我相信可以很快的翻开这本书,找到我想要的解决方案。入门之后,就在平常的工作实践中逐步提高吧。 我本人p4和git都用的比较多,我也没有什么特别的偏好。要说git的优点,还是众所周知的那几点:一个是本地commit;一个是轻量的branch;第三个是fork+pull灵活方便的开源合作模式。至于rewrite history,我觉得这个功能太过危险,还是不要给任何人重写历史的权利比较好。
在线 中文版,http://progit.org/book/zh/ 感谢@chunzi 建议再阅读:http://www.juvenxu.com/2010/11/28/a-successful-git-branching-model/ 《一个成功的Git分支模型》这篇文章
via @su27 老师的第一课教材
有中文译本,可以看看
这本书是开源的,对于有使用git经验的人,我建议从最后往前读,就像MIT的课程:The Missing Semester of Your CS Education 中写到的----Git 的接口有些丑陋,但是它的底层设计和思想却是非常优雅的。丑陋的接口只能靠死记硬背,而优雅的底层设计则非常容易被人理解。因此,我们将通过一种自底向上的方式向您介绍 Git。我们会从数据模型开始,最后再学习它的接口。
有人认为git cumbersome,但我觉得还可以?这本pro git深入浅出地介绍了git的软件原理,而且附有适用于新手上手和熟练者借鉴的许多实例,好评。
progit_v2.1.55
读了前7章,比较全面
非常清晰了 工具书典范
收藏