高质量的 Git 中文教程,源于国外社区的优秀文章和个人实践
- 第1章 什么是 Git
本篇完全面向入门者。我假设你从零开始创建一个项目并且想用 Git 来进行版本控制,我们会讨论如何在你的个人项目中使用 Git,比如如何初始化你的项目,如何管理新的或者已有的文件,如何在远端仓库中储存你的代码。
- 第1章 快速指南
- 第2章 保持同步
- 第3章 创建 Pull Request
- 第4章 使用分支
- 第5章 常见工作流比较
-
第1章 图解 Git 命令
如果你稍微理解 Git 的工作原理,这篇文章能够让你理解的更透彻。
-
git rebase
和git merge
都是用来合并分支,只不过方式不太相同。git rebase
经常被人认为是一种 Git 巫术,初学者应该避而远之。但如果使用得当,它能省去太多烦恼。在这篇文章中,我们会通过比较找到 Git 工作流中所有可以使用 rebase 的机会。 -
第2章 代码回滚:Reset、Checkout、Revert 的选择
git reset、git checkout 和 git revert 都是用来撤销代码仓库中的某些更改,所以我们经常弄混。在这篇文章中,我们比较最常见的用法,分析在什么场景下该用哪个命令。
-
第3章 Git log 高级用法
任何一个版本控制系统设计的目的都是为了记录你代码的变化——谁贡献了什么,找出 bug 是什么时候引入的,以及撤回一些有问题的更改。
git log
可以格式化 commit 输出的形式,或过滤输出的 commit 从而找到项目中你需要的任何信息。 -
第4章 Git 钩子:自定义你的工作流
Git 钩子是在 Git 仓库中特定事件发生时自动运行的脚本。它可以让你自定义 Git 内部的行为,在开始周期中的关键点触发自定义的行为,自动化或者优化你开发工作流中任意部分。
-
第5章 Git 提交引用和引用日志
提交是 Git 的精髓所在,你无时不刻不在创建和缓存提交、查看以前的提交,或者用各种 Git 命令在仓库间转移你的提交。在这章中,我们研究提交的各种引用方式,以及涉及到的 Git 命令的工作原理。我们还会学到如何使用 Git 的引用日志查看看似已经删除的提交。
- ✍️ 童仲毅 (geeeeeeeeek@github)
- 除非另行注明,这个项目中的所有内容采用知识共享-署名(CC BY 2.5 AU)协议共享。
- 不少文章在原基础上翻译或演绎而来,页面上方标注了原作者、原文链接以及原文采用的协议。如有版权疑问,请在 Issue 中提出。
- 欢迎通过 Issue 或者 Pull Request 推荐你认为合适的资料,让这份菜单更充实一些。
在整理 Git 资料的时候,我发现社区贡献了非常多高质量的博客文章、指南等等。尤其英文的那些资料,除了大家熟知的「Git 图解」,还有好多优秀的文章仍无人翻译。此外,这些资料往往只涉及某些特定的话题,如果能有一份菜单将这些菜谱以特定的方式串起来,那么对于 Git 学习者来说将会是极大的便利。尤其对于我这样热爱查阅社区资料胜过出版物的懒人 :] 随着我的学习节奏还会不断有新的菜谱加入进来,或许不会很频繁,不过也没有确定的终点。
📅 写于 2015 年