今天简单讲下 Git 的实现原理,知其所以然才能知其然;并且梳理了日常最常用的 12 个命令,分为三大类分享给你。
如果觉得不错的话,一定要点个关注哦
本文的结构如下:
- 作者和开发原由
- Git 的数据模型
- 常用命令
- 资源推荐
作者和开发原由
Talk is cheap. Show me the code.
这句话就出自 Linux 和 Git 的作者Linus Torvalds。
原本 Linux 内核的版本控制系统是用的 BitKeeper,然而 2005 年,BitMover 公司不再让 Linux 开发团队免费使用了。。
Linus 一听,不给用了?老子自己写!
于是,大佬十天之内完成了 Git 的第一个版本。
所以 Git 是一个免费的、开源的版本控制系统。
版本控制系统
版本控制其实每个人都用过,那些年修改过的简历:
小齐简历 2012 版小齐简历 2013 版小齐简历 2014 版小齐简历 2015 版小齐简历 2016 版小齐简历 2017 版小齐简历 2018 版小齐简历 2019 版...
还有那些年打死都不再改的毕业论文:
毕业论文最终版毕业论文最最终版毕业论文最最最终版毕业论文最最最最终版毕业论文最终不改版毕业论文最终真不改版毕业论文最终真真不改版毕业论文最终打死不改版毕业论文最终打死不改版 2...
没错,这就是本地版本控制系统。
很明显,好处是简单,但是只能一个人在这改,无法和他人完成合作。那么以下两种主流的版本控制系统应运而生。
1. 集中化版本控制系统
Centralized Version Control Systems (CVCS)
比如:CVS, Subversion, Perforce, etc.
这种版本控制系统有一个单一的集中管理的服务器,保存所有文件的最新版本,大家可以通过连接到这台服务器上来获取或者提交文件。
这种模式相对本地版本控制系统是有所改进的,但是缺点也很明显,如果服务器宕机,那么轻则耽误工作、重则数据丢失。于是分布式版本控制系统应运而生。
2. 分布式版本控制系统
Distributed Version Control Systems (DVCS)
比如:Git, Mercurial, Bazaar, etc.
分布式的版本控制系统会把代码仓库完整地镜像下来,这样任何一个服务器发生故障,都可以用其他的仓库来修复。
更进一步,这种模式可以更方便的和不同公司的人进行同一项目的开发