cs-self-learning/docs/必学工具/Git.md
2021-11-09 23:37:15 +08:00

15 lines
No EOL
1.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
Git是一款分布式的代码版本控制工具Linux之父Linus嫌弃当时主流的中心式的版本控制工具太难用还要花钱就自己开发出了Git用来维护Linux的版本给大佬跪了
Git的设计非常优雅但初学者通常因为很难理解其内部逻辑因此会觉得非常难用。对Git不熟悉的初学者很容易出现因为误用命令将代码给控制版本控制没了的状况好吧是我
但相信我和Vim一样Git是一款你最终掌握之后会感叹“它值得”的神器。
## 如何学习Git
和Vim不同我不建议初学者在一知半解的情况下贸然使用Git因为它的内部逻辑并不能熟能生巧而是需要花时间去理解。我推荐的学习路线如下
- 阅读这篇[Git tutorial](https://missing.csail.mit.edu/2020/version-control/)。
- 阅读这本开源书籍[Pro Git](https://git-scm.com/book/en/v2)的Chapter1 - Chapter5是的没错学Git需要读一本书捂脸
- 此时你已经掌握了Git的原理和绝大部分用法接下来就可以在实践中反复巩固Git的命令了。但用好它同样是一门哲学我个人觉得这篇[如何写好 Commit Message](https://chris.beams.io/posts/git-commit/)的博客非常值得一读。
- 好的此时你已经爱上了Git你已经不满足于学会它了你想自己实现一个Git巧了我当年也有这样的想法[这篇tutorial](https://wyag.thb.lt/)可以满足你!
- 什么光实现一个Git无法满足你小伙子/小仙女有前途巧的是我也喜欢造轮子这两个Github项目[build-your-own-x](https://github.com/danistefanovic/build-your-own-x)和[project-based-learning](https://github.com/tuvtran/project-based-learning)收录了你能想到的各种造轮子教程比如自己造个编辑器、自己写个虚拟机、自己写个docker、自己写个TCP等等等等。