Git 可以说是程序员必备的技能之一了,基于 Github/Gitlab 以及相关工作流的使用,Git 已经融入到了我们的日常工作中,这里分享一些有趣的 Git 学习资料,希望可以帮助大家更好的理解 Git。
1. Welcome to Learn Git Branching
以动画的形式展示了 Git 的各种操作,非常直观的了解 Git 各种操作背后的原理,如 git tree 是如何生成和合并的,非常适合初学者学习。
下面是一些图片实例:
-
练习 交互式 rebase
-
练习多次 rebase
-
练习 Git cherry-pick
2. Flight rules for Git
一份包含了血和泪的 Git 操作手册,包含了众多可能遇到的问题,非常适合作为 Git 的参考手册。
之所以叫 Flight rules 是因为这个名字来源于 NASA 的操作手册,NASA 的操作手册包含了宇航员可能遇到的各种各样的问题和解决方案。这份资料希望可以起到类似的作用。
Flight Rules are the hard-earned body of knowledge recorded in manuals that list, step-by-step, what to do if X occurs, and why. Essentially, they are extremely detailed, scenario-specific standard operating procedures. […]
NASA has been capturing our missteps, disasters and solutions since the early 1960s, when Mercury-era ground teams first started gathering “lessons learned” into a compendium that now lists thousands of problematic situations, from engine failure to busted hatch handles to computer glitches, and their solutions.
— Chris Hadfield, An Astronaut’s Guide to Life on Earth.
3. Atlassian |Gitflow Workflow
Atlassian 关于 Git 工作流的教程,详细讲解了在工程实践中应该如何使用 Git,比如开发新功能如何管理分支,release 上线和 hotfix 如何管理分支,这份教程会详细给出了标准的做法!可以和皓哥左耳听风里的文章 Git协同工作流,你该怎么选? 一起看,互相对比思考,相信一定可以对 Git 工作流有更深入的理解。
4. Git’s database internals
这是一系列的 blog,讲解了 Git 的底层实现原理,将 Git 视为一个分布式的数据库,讨论了 Git 的存储结构、commit history 和 file history 的查询以及分布式同步等等,非常有趣,可以帮助我们更好的理解 Git 的底层实现原理。
-
Git’s database internals I: packed object store
-
Git’s database internals II: commit history queries
-
Git’s database internals III: file history queries
-
Git’s database internals IV: distributed synchronization
-
Git’s database internals V: scalability