目录
2.2.Concurrent Version System(简称CVS)
1.版本控制概念
1.1.在开发团队中没有使用版本控制产生问题
- 如软件代码的一致性
- 软件内容的冗余
- 软件过程的事务性
- 软件开发过程中的并发性
- 软件源代码的安全性
- 以及软件的整合
1.2.版本控制的目的
是实现开发团队并行开发、提高开发效率
保证在需要时可回到旧的版本,避免文件的丢失、修改的丢失和相互覆盖
通过对版本库的访问控制避免未经授权的访问和修改,达到有效保护企业软件资产和知识产权的目的
1.3.版本控制的功能
2.版本控制工具4种
2.1.Visual Source Safe(简称VSS)
VSS是配置管理的一种很好的入门级的工具,采用标准的windows操作界面
缺点
VSS的配置管理的功能比较基本
VSS不提供对流程的管理功能,如对变更的流程进行控制
VSS不能提供对异地团队开发的支持
VSS只能在windows平台上运行,需要VSS插件,可以同时解决VSS跨平台和远程连接两个问题
VSS的安全性不高,由于VSS的文件夹是要完全共享给用户后,用户才能进入,所以用户对VSS的文件夹都可以删 除。这一点也是VSS的一个比较大的缺点。
2.2.Concurrent Version System(简称CVS)
CVS是源于unix的版本控制工具,对于CVS的安装和使用最好对unix的系统有所了解能更容易学习,
2.3.SVN
SVN全名Subversion,即版本控制系统
2.4.Git
Git是一个开源的分布式版本控制系统,用以有效、高速的处理从很小到非常大的项目版本管理.
3.Git 与 SVN 区别
1、Git 是分布式的,SVN 不是:
- 这是 Git 和其它的版本控制系统,例如 SVN,CVS 等,最核心的区别。
- SVN的分支就是在版本库中创建一个目录
- Git 分支是指针指向某次提交
4.Git 有本地分支,SVN 无本地分支。
- 在实际开发过程中,经常会遇到有些代码没写完,但是需紧急处理其他问题,若我们使用 Git,便可以创建本地分支存储没写完的代码,待问题处理完后,再回到本地分支继续完成代码。
5.Git 没有一个全局的版本号,而 SVN 有
- 这是跟 SVN 相比 Git 缺少的最大的一个特征
6.Git 保存内容完整性要优于 SVN
- Git 的内容存储使用的是 SHA-1 哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏
SVN:每一个程序员把SVN资源库中资源拷贝到自己电脑上开发,开发完成或者中途有事都需要把资源放回资源库。
Git:可以在不同Git上进行资源备份,每一个都可以作为git资源库被互相访问
4.GIt的使用
4.1.Git安装
下载地址:https://www.git-scm.com/download/win
剩下一直next。
随便创建一个空文件夹,右键出现这个就是安装成功
4.2.Git工作区域及工作流程
工作区域
- 工作区:用来对代码进行修改
- 暂存区
- git仓库区
工作流程
“git add 文件名“命令将工作区代码添加到暂存区
"git commit -m 提交描述"命令将暂存区代码提交到仓库
通过reset/checkout将仓库代码拿到暂存区
通过checkout将暂存区代码拿到工作区
4.3.初始化仓库及添加、提交、修改文件的git命令
- git init
- git add 文件名->工作区到暂存区
- git add * 添加所有文件
- git add 文件夹名/* 表示添加文件夹下的所有文件
- git commit -m ‘描述信息’->暂存区到仓库
3.仓库中修改信息
- 修改完成后按照原来的程序再执行
4.删除文件
- git rm 文件名->只是删除暂存区文件,还需要提交
- git commit -m ‘提交描述’
5.)删除文件夹
- 当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
- git rm -r --cached 文件夹名称
- git rm -r --cached target 删除target文件夹
- git commit -m '删除了target' 提交,添加操作说明
(2)在文件夹内初始化git(创建git仓库),命令:git init (会生成一个.git的隐藏文件)
(3)仓库中添加信息
在当前文件夹(工作区)创建demo.txt文件
在命令行输入git add demo.txt---将文件从工作区添加到暂存区
git add * 添加所有文件
通过git status查看文件状态
git commit -m '提交demo.txt到仓库' 命令将暂存区所有文件提交到仓库
git status再查看文件状态
当修改demo.txt内容后再提交一遍
git add demo.txt 添加到暂存区
git commit -m '第二次提交demo.txt' 提交到仓库
4.4.Git删除文件命令
4.5.添加、删除文件夹命令
先在工作区(就是本地git仓库)创建文件夹和文件
4.6.断开文件的版本控制的命令
当我们需要删除暂存区或分支上的文件, 但本地又需要使用, 只是不希望这个文件被版本控制, 可以使用
-
git rm -r --cached 文件夹名称
先创建文件夹和文件
5. Git远程服务器3种
git可以完成代码的添加,然后提交到版本服务器,但是我的版本服务器是基于本地操作的,若是基于团队/网络开发,这时候就需要使用基于git的远程服务器。
5.1.GitHub
目前仍然是最火的开源项目托管平台,我们可以将代码基于Git上传到GitHub上,由GitHub托管项目代码(基于网络的git远程仓库)
github包含公有仓库和私有仓库,私有需要付费。
访问地址:https://github.com/
5.2.GitLab
5.3.gitee(码云)
github和gitlab是外国的服务器,gitee是国内的git远程服务器,国内的代码托管平台,支持 Git 和 SVN,提供免费的私有库托管
6.Gitee的使用
6.1.注册账号
6.2.基本概念
6.3.创建仓库
6.4.仓库管理
文件/文件夹的创建,文件上传
点击Fork复制别人的项目到自己的仓库
发起请求
当用户进入我的这个仓库页面后,想在我仓库中新建文件/上传文件
然后提交审核
我页面上Pull Requests请求有提示
点开后点击测试通过和审查通过便可将他的这个文件加入我的仓库
事务卡片(Issue)的使用
当用户发现我的仓库中项目有问题,便可向我发送一个issue,
我查看自己的issue
点开查看并回复对方
点击管理进行仓库的删除
6.5.初始化git的用户信息
首先创建一个文件夹,在文件夹中右键打开Git命令行,输入git init初始化仓库
配置用户信息
设置登录的账户信息: 用户名和邮箱地址是本地git客户端的一个变量,每次commit都会用用户名和邮箱纪录。
设置用户名
git config --global user.name ‘用户名’
设置用户名邮箱:
git config --global user.email ‘邮箱’
实例: git config --global user.email ‘123@qq.com’
注意:该设置在gitee仓库主页显示谁提交的文件,如果想要修改用户信息,则将该命令再执行一次
查看配置信息: git config --list
6.6.git操作远程仓库上下传项目
目的:实现通过Git从gitee上下载项目以及上传项目到gitee
下载远程仓库项目到本地工作区
首先创建文件夹,在文件夹右键打开git命令行
命令: git clone 仓库地址
仓库地址:
修改gittest项目添加一个b.txt文件,然后将修改后项目上传到gitee,注意上传到远程仓库需要填写的用户名和密码是gitee网站的用户名密码
从gitee上拉下的项目,要提交时,只需要在该项目中右键进入命令行只将修改的文件提交即可,不需要指定仓库地址,被提交的文件会出现在gitee上对应的仓库中。
6.7.git关联idea
Idea自身路径需要在英文目录
1)Idea配置Git客户端:
File — Settings---Version Control — Git关联Git安装目录下的bin/git.exe执行文件(这个就是git的客户端指令,类似svn.exe)
2)下载gitee插件
下载好后需要重启服务器(服务器开启的情况下)
3)idea中配置gitee的登录信息
当下载完gitee插件后在版本控制中就可以找到gitee,并添加gitee登录账号,使用邮箱登录
4)本地项目由idea上传到服务器
跳出提交
当在项目中添加index.html后会自动跳出提示:是否将该文件添加到gitee,或者右键要上传的文件,点击push上传
当在gitee上的testAjaxDemo中添加了index2.html,然后同步到本地idea中
服务器项目下载到本地