是什么
-
多个开发人员共同负责同一个软件或文档的开发,每个人在各自的机器上有整个软件文档的备份,并对之实施编程开发,在分别完成各自任务之后,再通过文本比对工具将各自机器上的不同版本的程序整合到一台机器上。
-
实现开发团队并行开发、提高开发效率的基础。
-
对软件开发进程中文件或目录的发展过程提供有效的追踪手段, 保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖,通过对版本库的访问控制避免未经授权的访和修改,达到有效保护企业软件资产和知识产权的目的。
-
版本控制的功能在于跟踪记录整个软件的开发过程,包括软件本身和相关文档,以便对不同阶段的软件及相关文档进行表示并进行差别分析,对软件代码进行可撤消的修改,便于汇总不同开发人员所做的修改,辅助协调和管理软件开发团队。
种类
1)Visual Source Safe(简称VSS)
-
VSS是美国微软公司的产品,目前常用的版本为6.0版。VSS是配置管理的一种很好的入门级的工具。
-
VSS只能在windows平台上运行,不能运行在其他操作系统上。
-
VSS提供share(共 享)、branch(分支)和合并(merge)的功能,对于团队的开发进行支持。VSS不提供对流程的管理功能,如对变更的流程进行控制。
-
VSS不能提供对异地团队开发的支持。
-
VSS的安全性不高,对于VSS的用户,可以在文件夹上设置不可读,可读,可读/写,可完全控制四级权限
2)Concurrent Version System(简称CVS)
-
CVS是源于unix的版本控制工具。
-
跨平台。
-
同样因为CVS是开发源码软件,没有生产厂家为其提供技术的支持。如发现问题,通常只能靠自己查找网上的资料进行解决。
3)SVN *
全名Subversion,即版本控制系统。
- 跨平台的软件,支持大多数常见的操作系统。
- 作为一个开源的版本控制系统,Subversion 管理着随时间改变的数据。 这些数据放置在一个中央资料档案库中。 这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。 这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。
4)Git *
- 开源的分布式版本控制系统。
- 以有效、高速的处理从很小到非常大的项目版本管理。
Git与SVN的区别
- Git 是分布式的,SVN 不是:
这是 Git 和其它非分布式的版本控制系统,例如 SVN,CVS 等,最核心的区别。
- Git 把内容按元数据方式存储,而 SVN 是按文件:
所有的资源控制系统都是把文件的元信息隐藏在一个类似 .svn、.git 等的文件夹里。
- Git 分支和 SVN 的分支不同:
Git 有本地分支,SVN 无本地分支。在实际开发过程中,经常会遇到有些代码没写完,但是需紧急处理其他问题,若我们使用 Git,便可以创建本地分支存储没写完的代码,待问题处理完后,再回到本地分支继续完成代码。
-
Git 没有一个全局的版本号,而 SVN 有:
目前为止这是跟 SVN 相比 Git 缺少的最大的一个特征。
-
Git 的内容完整性要优于 SVN:
Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。
怎么做
Git安装
百度云链接:https://pan.baidu.com/s/1jysewPgEJV1W0-_X2nhYJw
提取码:s1qb
检验是否安装成功,桌面上鼠标右击后:
Git的工作区域
一共三个区域
- (1)工作区:用来对代码进行修改
- (2)暂存区
- (3)git仓库区
# 初始化仓库
(1)新建文件夹,进入到该目录,右键打开`git bash`
(2)在文件夹内初始化git(创建git仓库):(会生成一个.git的隐藏文件)
git init
显示隐藏文件:
# 工作区--->暂存区:
# 添加单个文件到暂存区
git add 文件名
# 添加多个文件到暂存区
git add *
# 暂存区--->仓库
git commit -m '描述信息'
# 删除文件
git rm 文件名
git commit -m '提交描述'
# 删除文件夹
git rm -r 文件夹名
git commit -m '提交描述'
# 当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制
git rm -r --cached 文件夹名称
git commit -m '提交描述'
Git远程服务器
1) GitHub
访问地址:https://github.com/
2) GitLab
访问地址:https://git.lug.ustc.edu.cn/users/sign_in
GitHub 作为开源代码库,拥有超过 900 万的开发者用户,目前仍然是最火的开源项目托管平台,GitHub 同时提供公共仓库和私有仓库,但如果使用私有仓库,是需要付费的。GitLab 解决了这个问题,你可以在上面创建私人的免费仓库。
3)gitee(码云)
访问地址:https://gitee.com/
使用 GitHub 时,国内的用户经常遇到的问题是访问速度太慢,有时候还会出现无法连接的情况。如果
你希望体验 Git 飞一般的速度,可以使用国内的代码托管与开发协作平台 —— Gitee。除了访问速度更
快以外,Gitee 还提供了免费的私有仓库供个人开发者使用
gitee使用
注册地址:https://gitee.com/
1、创建仓库
仓库管理:
- 新建文件
- 编辑/删除文件
- 被删除的文件如何查看信息:
- 上传文件(可以同时选择多文件):
- 下载项目:
- Gitee issue(问题)
- 删除仓库
2、管理远程仓库
# git克隆操作:将远程仓库的项目复制到本地
git clone 仓库地址
# 举例:
git clone https://gitee.com/zhao_guojiang6/my_pic_bed.git
# 将本地仓库提交到远程(注意先提交到缓存区,再提交到仓库,最后提交远程)-->即更新本地到仓库
git push
第一次进行提交时,会设置登录的账户信息,即你的gitee账户
注意:该设置在gitee仓库主页显示谁提交的文件,如果想要修改用户信息,则将该命令再执行一次。
# 设置用户名:
git config --global user.name ‘用户名’
# 设置用户名邮箱:
git config --global user.email ‘邮箱’
# 举例:
git config --global user.name ‘赵国江’
git config --global user.email ‘1143575690@qq.com’
# 查看设置:
git config --list
也可以在:
# 更新你的本地仓库至最新改动-->更新仓库到本地
# 方式1:默认url
git pull
# 方式2:指定url
git pull 仓库地址
# 举例:
git pull https://gitee.com/zhao_guojiang6/my_pic_bed.git
3)IDEA关联git
Idea自身路径需要在英文目录
1、配置Git客户端
File — Settings—Version Control — Git关联Git安装目录下的bin/git.exe
执行文件(这个就是git的客户端指令,类似svn.exe)
2、下载gitee插件
3、配置登录信息
登录时,使用邮箱登录