git 教程
1.版本管理工具概念
我在大学毕业写论文的时候的时候碰到过如下的现象
```
<<毕业论文第一版.doc>>
<<毕业论文第二版.doc>>
<<毕业论文第三版.doc>>
<<毕业论文最终版.doc>>
<<毕业论文最终版2.doc>>
```
在这种情况下如果不能查看修改之前的代码,查找问题是非常困难的.
如果有一个软件能记录我们对文档的所有修改,所有版本,那么上面的问题讲迎刃而解.而这类软件我们一般叫做版本控制工具
版本管理工具一般具有如下特性:
- 1) 能够记录历史版本,回退历史版本
- 2) 团队开发,方便代码合并
2. 版本管理工具介绍
现在比较流行的版本管理工具是git ,但是实际上git 是近几年才发展起来的,可能有一些老的项目,还在用一些老的软件,比如svn
2.1版本管理发展简史(维基百科)
2.1.1 SVN(SubVersion)
工作流程
SVN是集中式版本控制系统,版本库是集中放在中央服务器的.
工作流程如下:
- 1.从中央服务器远程仓库下载代码
- 2.修改后将代码提交到中央服务器远程仓库
优缺点:
优点: 简单,易操作
缺点:所有代码必须放在中央服务器
1.服务器一旦宕机无法提交代码,即容错性较差
2.离线无法提交代码,无法及时记录我们的提交行为
svn流程图
2.1.2 Git
工作流程
Git是分布式版本控制系统(Distributed Version Control System,简称 DVCS),分为两种类型的仓库:
本地仓库和远程仓库
工作流程如下
- 1.从远程仓库中克隆或拉取代码到本地仓库(clone/pull)
- 2.从本地进行代码修改
- 3.在提交前先将代码提交到暂存区
- 4.提交到本地仓库。本地仓库中保存修改的各个历史版本
- 5.修改完成后,需要和团队成员共享代码时,将代码push到远程仓库
总结:git和svn的区别
1. svn 是集中式版本控制工具,git 是分布式版本控制工具
2. svn 不支持离线提交,git 支持离线提交代码
3. Git 发展简史
林纳斯·本纳第克特·托瓦兹(Linus Benedict Torvalds, 1969年~ )
很多人都知道,Linus在1991年创建了开源的Linux,从此,Linux系统不断发展,已经成为最大的服务器系统软件了。
Linus虽然创建了Linux,但Linux的壮大是靠全世界热心的志愿者参与的,这么多人在世界各地为Linux编写代码,那Linux的代码是如何管理的呢?
事实是,在2002年以前,世界各地的志愿者把源代码文件通过diff的方式发给Linus,然后由Linus本人通过**手工方式合并代码!**
你也许会想,为什么Linus不把Linux代码放到版本控制系统里呢?那个年代不是有CVS、SVN这些免费的版本控制系统吗?因为Linus坚定地反对CVS和SVN,这些集中式的版本控制系统不但速度慢,**而且必须联网才能使用**。有一些商用的版本控制系统,虽然比CVS、SVN好用,但那是**付费**的,和Linux的开源精神不符。
不过,到了2002年,Linux系统已经发展了十年了,代码库之大让Linus很难继续通过手工方式管理了,社区的弟兄们也对这种方式表达了强烈不满,于是Linus选择了一个商业的版本控制系统BitKeeper,BitKeeper的东家BitMover公司出于人道主义精神,授权Linux社区免费使用这个版本控制系统。而授权的前提是:Linux 社区的人不能开发具有相同功能的竞争产品!
另一方面,BitKeeper不是开源的. 显然与Linux 的开源精神不相符,所以linux 社区的很多人抱怨,不愿意使用.
典型的就是 Andrew Tridgell (Samba 开发服务的创造者) 非常不满.偷偷违反了和 BitKeeper 的协议,反编译 BitKeeper 的源代码,开发了个爬虫,然后爬取信息被人发现了. BitKeeper 公司的领导非常不满意,然后开始发布消息说,(下个版本)不再为Linux 提供免费的服务.
Linus 本人就出面协调(几周或者几个月),但是不管用, 没办法. 估计谈判的过程感觉到了憋屈--"吃人嘴短,拿人手软"
Linus 本人 花了10天的时间Git 出来了,一个月之内,Linux系统的源码已经由Git管理了!
Git 出来以后毕竟是一个人做的,开始并不好用(刚开始只能用勉强可以用来形容), 还是很多人抱怨,发展了很多年都没有干过其他软件.
直到 2008年,GitHub网站上线了,它为开源项目免费提供Git存储,无数开源项目开始迁移至GitHub,从此git 迎来了飞速发展,当下git 已经成为了最流行的版本控制工具
4. Git 的安装
4.1 git 的下载
下载地址: https://git-scm.com/download
附件
4.2 安装
1) 直接下一步傻瓜式安装即可
在这个使用Notepad++,或者使用自己笔记本的编辑器
2) 其中安装的过程中需要填写一个邮箱和用户名(任意即可)
3) 注意: 安装完毕请重启资源管理器,或者重启电脑!
4) 更改语言
下载完成后,显示
右键后也可以显示:
5. Git 工作流程
5.1 Git 初始化
我们先初始化一个本地仓
1) 新建测试文件夹
2) 进入文件夹,然后右键创建版本库
此时 我们看到
1) 文件夹上多了一个绿色图标(如果没有请看本章节 5.3小节说明)
2) 文件夹内部生成了一个.git 隐藏文件夹(需要设置隐藏文件夹可见)
5.2 git 流程
5.2.1 流程图
5.2.2概念即详解
本地仓库:是在开发人员自己电脑上的Git仓库,存放我们的代码(.git 隐藏文件夹就是我们的本地仓库)
远程仓库:是在远程服务器上的Git仓库,存放代码(可以是github.com或者gitee.com 上的仓库,或者自己该公司的服务器)
工作区: 我们自己写代码(文档)的地方
暂存区: 在 本地仓库中的一个特殊的文件(index) 叫做暂存区,临时存储我们即将要提交的文件
------------
Clone:克隆,就是将远程仓库复制到本地仓库
Push:推送,就是将本地仓库代码上传到远程仓库
Pull:拉取,就是将远程仓库代码下载到本地仓库,并将代码 克隆到本地工作区
6.Git的配置
git项目的配置,使用的是: git config -l
Git的系统配置,git config --system --list
Git 的全局配置:
在Git中需要配置自己的name,Email,需要用自己真实的。
在查看系统配置和全局配置,
也可以在c盘下用户名下的自己名文件下的gitconfig文件下查看。
配置基本就可以了。
标签:Git,版本,仓库,代码,配置,git,下载安装,Linux From: https://www.cnblogs.com/beichens/p/17422048.html