git学习笔记
作者:互联网
1 Git 的历史
Git诞生于一个极富纷争、大局创新的年代:linux内核开源项目有着为数众多的参与者,绝大多数的linux内核维护工作都花在了提交补丁和保存归档的繁琐事物上(1991-2002年间)。到2002年,整个项目组开始启用分布式版本控制系统BitKeeper来维护和管理代码。
到2005年的时候,开发BitKeeper的商业公司同Linux内核开源社区的合作关系结束,他们收回了免费使用BitKeeper的权力。这迫使Linux开源社区(特别是Linux的缔造者Linux Torvalds)不得不吸取教训,只有开发一套属于自己的版本控制系统才不至于重蹈覆辙。他们对新的系统制定了若干目标:
- 速度
- 简单的设计
- 对非线性开发模式的强力支持(允许上千个并行开发的分支)
- 完全分布式
- 有能力高效管理类似linux内核一样的超大规模项目(速度和数据量)
2 Git 与 svn 对比
2.1 svn
svn 是集中式版本控制系统,版本库是集中放在中央服务器中的,而干活的时候,用的都是自己的电脑,所以首先要从中央服务器那里得到最新的版本,然后写代码,写完代码后,需要把代码推送到中央服务器。集中式版本控制系统是必须联网才能工作,如果在局域网中,宽带大、速度快,用户体验就比价好,而在互联网情况下,若网速慢的话,就比较郁闷。
标准的集中式版本控制工具管理方式:
图1 集中式管理图
集中管理方式在一定程度上看到其他开发人员在干什么,而管理人员也可以很轻松掌握每个人的开发权限。相较于其优点而言,集中式版本控制工具缺陷明显:
- 服务器单点故障
- 容错性差
2.2 Git
Git是一个分布式版本控制系统,它没有中央服务器,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上,。既然每个人的电脑都有一个完整的版本库,那么多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们之间只需要把各自的修改推送给对方,就可以相互看到对方的修改了。
分布式版本控制工具管理方式如下:
图2 分布式版本控制工具管理方式
3 Git工作流程
一般工作流程如下:
- 从远程仓库中克隆Git资源作为本地仓库。
- 从本地仓库中checkout代码然后进行代码修改。
- 在提交前先将代码提交到暂存区。
- 提交修改,提交到本地仓库,本地仓库中保存修改的各个历史版本。
- 在修改完成后,需要和团队成员共享代码时,可以将代码push到远程仓库。
下图展示了Git的工作流程:
图3 Git工作流程图
4 Git的安装
最早Git是在linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上使用。慢慢地有人把它移植到Windows系统上。现在,Git可以在Linux、Unix、Mac和Windows这几大平台上正常使用,治理主要是Windows系统上Git的使用。
下载地址:https://git-scm.com/download
标签:git,版本控制,代码,笔记,学习,集中式,Git,版本,Linux 来源: https://www.cnblogs.com/doctor-Rao1998/p/14698040.html