Files
git-recipes/README.md
2015-10-18 16:12:48 +08:00

107 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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推荐你认为合适的资料让这份菜单更充实一些。