Git
学习Git之前,我们需要明白一个概念,版本控制!
版本控制
什么是版本控制 版本迭代,新的版本!版本管理器
版本控制:是一种在开发的过程中用于管理我们对文件,目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前版本的软件工程技术。
- 实现跨区多人协同开发
- 追踪和记载一个或者多个文件的历史记录
- 组织和保护你的源代码和文档
- 统计工作量
- 并行开发、提高开发效率
- 跟踪记录整个软件的开发过程
- 减轻开发人员的负担,节省时间,同时降低人为错误
简单来说就是多人协同开发项目的技术。
常见的版本控制工具:
- Git
- SVN(Subversion)
- CVS(Concurrent Versions System)
- VSS(Micorosoft Visual SourceSafe)
- TFS(Team Foundation Server)
- Visual Studio Online
版本控制产品非常的多(Perforce、Rational ClearCase、RCS(GNU Revision Control System)、Serena Dimention、SVK、BitKeeper、Monotone、Bazaar、Mercurial、SourceGear Vault),现在影响力最大且使用最广泛的是Git与SVN
SVN:版本集中控制
所有的版本数据都保存在服务器上,协同开发者从服务器上更新或者上传自己的修改
(所有的版本都存在服务器上面,用户的本地都只有自己以前所同步的版本,如果不联网的话,用户就看不到历史版本,风险就是服务器崩了。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EfnGa2v0-1620702955654)(C:%5CUsers%5C%E7%8E%8B%E9%A1%BA%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210508153248625.png)]
Git:分布式版本控制
(每个人都有全部的代码,风险就是安全隐患。)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CrcwveEk-1620702955657)(C:%5CUsers%5C%E7%8E%8B%E9%A1%BA%5CAppData%5CRoaming%5CTypora%5Ctypora-user-images%5Cimage-20210508153227616.png)]
SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而工作的时候,用的都是自己的电脑,所以首先要从中央服务器得到最新的版本,然后工作,完成工作后,需要把自己做完的活推送到中央服务器。集中式版本控制系统是必须联网才能工作,对网络带宽要求较高。
Git是分布式版本控制系统,没有中央服务器,每个人的电脑就是一个完整的版本库,工作的时候不需要联网了,因为版本都在自己电脑上。协同的方法是这样的:比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git可以直接看到更新了哪些代码和文件!
GIt历史
同生活中的许多伟大事物一样,Git 诞生于一个极富纷争大举创新的年代。
Linux 内核开源项目有着为数众广的参与者。绝大多数的 Linux 内核维护工作都花在了提交补丁和保存归档的繁琐事务上(1991-2002年间)。到 2002 年,整个项目组开始启用一个专有的分布式版本控制系统 BitKeeper 来管理和维护代码。
Linux社区中存在很多的大佬!破解研究 BitKeeper !
到了 2005 年,开发 BitKeeper 的商业公司同 Linux 内核开源社区的合作关系结束,他们收回了 Linux 内核社区免费使用 BitKeeper 的权力。这就迫使 Linux 开源社区(特别是 Linux 的缔造者 Linus Torvalds)基于使用 BitKeeper 时的经验教训,开发出自己的版本系统。(2周左右!) 也就是后来的 Git!
SVN
常用操作:
第一次来公司就用:checkout
每日上班就用:update
每日下班就用:commit
每日上班就用:update
每日下班就用:commit
[外链图片转存中…(img-zjsXdY6R-1620702955663)]