mirror of
https://github.com/PKUFlyingPig/cs-self-learning.git
synced 2026-06-23 18:06:56 +08:00
Update Git.en.md
This commit is contained in:
parent
1d71cf1a30
commit
45471d2398
1 changed files with 9 additions and 9 deletions
|
|
@ -2,18 +2,18 @@
|
||||||
|
|
||||||
## Why Git
|
## Why Git
|
||||||
|
|
||||||
Git is a distributed version control system. Linux creator Linus Torvalds developed Git to maintain Linux versions, because he didn't like the centralized version control tool which was difficult and costly to use.
|
Git is a distributed version control system. The father of Linux, Linus Torvalds developed Git to maintain the version control of Linux, replacing the centralized version control tools which were difficult and costly to use.
|
||||||
|
|
||||||
The design of Git is very elegant, but beginners usually find it very difficult to use because it is difficult to understand its internal logic. Beginners who are not familiar with Git are easy to destroy the controlled versions because of mis-using its commands.
|
The design of Git is very elegant, but beginners usually find it very difficult to use without understanding its internal logic. It is very easy to mess up the version history if misusing the commands.
|
||||||
|
|
||||||
But trust me, like Vim, Git is a powerful tool that you will finally exclaim 'it's worth it!' after you mastered it.
|
Git is a powerful tool and when you finally master it, you will find all the effort paid off.
|
||||||
|
|
||||||
## How to learn to use Git
|
## How to learn Git
|
||||||
|
|
||||||
Different from Vim, I don't suggest beginners use Git rashly without sufficient understanding of it. That's because it's inner logic can not be acquainted by practicing, but takes time to figure out. Here is my recommended learning path:
|
Different from Vim, I don't suggest beginners use Git rashly without fully understanding it, because its inner logic can not be acquainted by practicing. Here is my recommended learning path:
|
||||||
|
|
||||||
1. Read this [Git tutorial](https://missing.csail.mit.edu/2020/version-control/), and this video [Git tutorial (by 尚硅谷)](https://www.bilibili.com/video/BV1vy4y1s7k6) in Chinese.
|
1. Read this [Git tutorial](https://missing.csail.mit.edu/2020/version-control/) in English, or you can watch this [Git tutorial (by 尚硅谷)](https://www.bilibili.com/video/BV1vy4y1s7k6) in Chinese.
|
||||||
2. Read Chap1 - Chap5 of this open source book [Pro Git](https://git-scm.com/book/en/v2). Yes, to learn Git, you need to read a book.
|
2. Read Chap1 - Chap5 of this open source book [Pro Git](https://git-scm.com/book/en/v2). Yes, to learn Git, you need to read a book.
|
||||||
3. Now that you have understood its principles and most of its usages, it's time to consolidate those commands by practicing. It's also a philosophy that how to use Git properly. I personally think this blog [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/) is really wroth reading.
|
3. Now that you have understood its principles and most of its usages, it's time to consolidate those commands by practicing. How to use Git properly is a kind of philosophy. I recommend reading this blog [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
|
||||||
4. You are now in love with Git, and you are not content with managing it, you want to build it by yourself! Great, that's exactly what I was thinking. [This tutorial](https://wyag.thb.lt/) may satisfy you!
|
4. You are now in love with Git and are not content with only using it, you want to build a Git by yourself! Great, that's exactly what I was thinking. [This tutorial](https://wyag.thb.lt/) will satisfy you!
|
||||||
5. What? Building your own Git is not enough? You're quite promising! I also like reinventing the wheel. This two GitHub projects, [build-your-own-x](https://github.com/danistefanovic/build-your-own-x) and [project-based-learning](https://github.com/tuvtran/project-based-learning), include any wheel-reinventing tutorial you can imagine, i.e., to build your own text editor, virtual machine, docker, TCP and so on.
|
5. What? Building your own Git is not enough? Seems that you are also passionate about reinventing the wheels. These two GitHub projects, [build-your-own-x](https://github.com/danistefanovic/build-your-own-x) and [project-based-learning](https://github.com/tuvtran/project-based-learning), collected many wheel-reinventing tutorials, e.g., text editor, virtual machine, docker, TCP and so on.
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue