107 lines
4.9 KiB
Markdown
107 lines
4.9 KiB
Markdown
git-recipes
|
||
====
|
||
高质量的Git中文教程
|
||
|
||
目录
|
||
---
|
||
**第1篇 Git**
|
||
|
||
|
||
**第2篇 从零搭建本地代码仓库**
|
||
|
||
- **第1章** [快速指南](https://github.com/geeeeeeeeek/git-recipes/blob/master/Git%E7%AE%80%E6%98%93%E6%8C%87%E5%8D%97(%E4%B8%8A).md)
|
||
|
||
这节完全面向入门者。我假设你从零开始创建一个项目并且想用Git来进行版本控制,我们会讨论如何在你的个人项目中使用Git,比如如何初始化你的项目,如何管理新的或者已有的文件,如何在远端仓库中储存你的代码。
|
||
|
||
- 安装Git
|
||
- 检出仓库
|
||
- 创建新仓库
|
||
- 工作流
|
||
- 添加与提交
|
||
- 推送改动
|
||
|
||
- **第2章** 创建代码仓库
|
||
|
||
- **第3章** 保存你的更改
|
||
|
||
- **第4章** 查看仓库状态
|
||
|
||
- **第5章** 查看以前的提交
|
||
|
||
- **第6章** 回滚错误的更改
|
||
|
||
- **第7章** 重写项目历史
|
||
|
||
**第3章 远程团队协作和管理**
|
||
|
||
- **第1章** 快速指南
|
||
|
||
- **第2章** 同步代码
|
||
|
||
- **第3章** 创建Pull Request
|
||
|
||
- **第4章** 使用分支
|
||
|
||
- **第5章** 几种工作流
|
||
|
||
**第4篇 Git命令详解**
|
||
|
||
- 第1章 [图解Git命令](https://github.com/geeeeeeeeek/git-recipes/blob/master/Git%E5%9B%BE%E8%A7%A3.md)
|
||
|
||
如果你稍微理解git的工作原理,这篇文章能够让你理解的更透彻。
|
||
- 基本用法
|
||
- 约定
|
||
- 命令详解
|
||
|
||
**第5篇 Git实用贴士**
|
||
|
||
- **第1章** [代码合并:Merge、Rebase的选择](https://github.com/geeeeeeeeek/git-recipes/blob/master/%E4%BB%A3%E7%A0%81%E5%90%88%E5%B9%B6:Merge%E8%BF%98%E6%98%AFRebase.md)
|
||
|
||
`git rebase` 和`git merge` 都是用来合并分支,只不过方式不太相同。`git rebase` 经常被人认为是一种Git巫术,初学者应该避而远之。但如果使用得当,它能省去太多烦恼。在这篇文章中,我们会通过比较找到Git工作流中所有可以使用rebase的机会。
|
||
|
||
- 概述
|
||
- Rebase的黄金法则
|
||
- 工作流
|
||
- 总结
|
||
|
||
- **第2章** [代码回滚:Reset、Checkout、Revert的选择](https://github.com/geeeeeeeeek/git-recipes/blob/master/%E5%9B%9E%E6%BB%9A%E5%91%BD%E4%BB%A4Reset%E3%80%81Checkout%E3%80%81Revert%E8%BE%A8%E6%9E%90.md)
|
||
|
||
git reset、git checkout和git revert都是用来撤销代码仓库中的某些更改,所以我们经常弄混。在这篇文章中,我们比较最常见的用法,分析在什么场景下该用哪个命令。
|
||
- Commit层面的操作
|
||
- 文件层面的操作
|
||
- 总结
|
||
|
||
- **第3章** [Git log高级用法](https://github.com/geeeeeeeeek/git-recipes/blob/master/Git_log%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95.md)
|
||
|
||
任何一个版本控制系统设计的目的都是为了记录你代码的变化——谁贡献了什么,找出bug是什么时候引入的,以及撤回一些有问题的更改。`git log` 可以格式化commit输出的形式,或过滤输出的commit从而找到项目中你需要的任何信息。
|
||
|
||
- 格式化Log输出
|
||
- 过滤提交历史
|
||
- 总结
|
||
|
||
- **第4章** Git钩子:自定义你的工作流
|
||
|
||
- **第5章** Git ref引用
|
||
|
||
**第6篇 Git应用实践:用GitLab搭建一个课程教学仓库**
|
||
|
||
- **第1章** 教师和学生的最佳实践指南
|
||
|
||
GitLab本身的权限管理和组织结构已经满足了教学中课程创建、学生管理、收发作业、通知统计等需求。不过,在实践中我们要尤其注意各处的权限和命名规范。因此,我总结了一份教师和学生的最佳实践指南,保证各门课程能够顺畅地进行。
|
||
- **第2章** 在上层搭建一个Classroom应用
|
||
|
||
在实践中,我们要手动地导入大量学生、创建分支以及在Gitlab复杂的页面中穿梭。显然我们可以做得更好,那就是在GitLab上再搭建一层Classroom应用。在这章中,我会介绍我们是如何抽取需求,以及构建这个应用的。
|
||
|
||
|
||
我为什么要做这份菜单
|
||
---
|
||
在整理Git资料的时候,我发现社区贡献了非常多高质量的博客文章、指南等等。尤其英文的那些资料,除了大家熟知的《Git图解》,还有好多优秀的文章仍无人翻译。此外,这些资料往往只涉及某些特定的话题,如果能有一份菜单将这些菜谱以特定的方式串起来,那么对于Git学习者来说将会是极大的便利。尤其对于我这样热爱查阅社区资料胜过出版物的懒人 : ) 随着我的学习节奏还会不断有新的菜谱加入进来,或许不会很频繁,不过也没有确定的终点。
|
||
|
||
版权说明
|
||
---
|
||
除非另行注明,这个项目中的所有内容采用知识共享-署名([CC BY 2.5 AU](http://creativecommons.org/licenses/by/2.5/au/deed.zh))协议共享,童仲毅(geeeeeeeeek@github)版权所有。
|
||
|
||
其中不少资料是在原基础上翻译或演绎而来的,我都在页面最上方标明了原作者、原文链接以及原文采用的协议。如仍有版权疑问,请在issue中提出。
|
||
|
||
欢迎通过issue或者pr推荐你认为合适的资料,让这份菜单更充实一些。
|