小汤学编程之JavaEE学习day07——版本控制工具:SVN、GIT

在这里插入图片描述

一、SVN
1.SVN介绍     2.SVN安装     3.SVN操作
二、GIT
1.GIT介绍     2.集中式和分布式     3.GIT的基本使用     4.GIT时光机     5.远程仓库     6.分支管理     7.在Idea上开启使用GIT


一、SVN

1.SVN介绍
  • 是什么?
    svn是一个集中式的版本控制工具
  • 解决什么?
    1.文件的版本控制
    2.职责追踪

项目在迭代更新的过程中,会产生很多个版本,有时可能需要回到之前的某个版本中,如果单纯用备份的做法来做,在版本多的情况下会非常麻烦且凌乱,为此,我们需要借助专业的工具来帮我们进行版本的管理。
而且在多人协同项目时,项目可能会因为某个成员提交的代码而崩掉,使用版本管理还可以清楚的记录何人何时提交的bug代码,方便追究责任。

  • 版本控制工具
版本控制工具说明
SVN企业里用的较多
GIT开源领域用的最多最广,没有之一
VSS微软开发,设计反人类已淘汰
CVS早期时代的版本控制工具
  • SVN架构
    服务端:一般放在公司服务器上
    客户端:一般安装在开发人员电脑上
2.SVN安装

官网下载
在这里插入图片描述

在这里插入图片描述
注意:安装客户端时遇到上图所示页面时,需要点击红圈选项改变设置,否则后续再Idea中使用SVN可能会遇到麻烦。
然后其他地方一路傻瓜式next安装客户端与服务端即可。
在这里插入图片描述
右键菜单出现上图两项时说明客户端安装成功。
在这里插入图片描述
开始菜单可以找到上图中的文件夹时说明服务端安装成功。

3.SVN操作
检出

当服务器的仓库里已经存在项目代码时,我们可以将之检出到任意地方。首先在任意处创建一个空文件夹。在空文件夹内右键,选择SVN Checkout。
在这里插入图片描述
填入版本库地址,确定即可(第一次会弹框提示输入用户名和密码)。
在这里插入图片描述
然后我们可以看到刚才新建的文件夹里多出了项目文件,这时就检出成功了。
在这里插入图片描述

提交

当我们对项目进行所需的编辑后需要进行提交,这时在项目文件夹中右键,选择SVN Commit。
在这里插入图片描述
然后你可以看到所有你进行的修改,勾选要提交的内容,你还可以在上面的Message框里填写注释,最后点击ok即可
在这里插入图片描述
最后的弹框里没有报错说明提交成功。
在这里插入图片描述

冲突解决

当多人合作编写项目时,有时提交会报错,这是因为在你提交之前已经有人提交了,服务端的文件已经被他修改过了,这与你的更新产生了冲突,所以报错了。
在这里插入图片描述
要解决冲突,我们需要在提交前进行SVN Update,
在这里插入图片描述
在这里插入图片描述
然后你的文件夹里会多出三个文件,而且你产生冲突的文件里的内容变成了类似下图所示的样子。
在这里插入图片描述
在这里插入图片描述
根据需求进行修改(只留下你的或者只留下别人的或者都保留),最后删掉之前出现的那三个文件,即可再进行提交。

查看版本记录

项目文件夹中右键,点击TortoisSVN -> Show log 即可查看版本记录。
在这里插入图片描述
在这里插入图片描述

还原版本(还原到指定版本、最新版本)

点击TortoisSVN -> Update to revision 将弹出一个跳转版本的对话框。
在这里插入图片描述
你可以选择跳转到最新版本或者某指定版本号的版本。如果你不太记得要跳转的版本号了,可以点击 Show log 按钮,这将会打开版本记录供你查询。
在这里插入图片描述

分支

点击TortoisSVN -> Branch/tag 将弹出一个创建分支的对话框。
在这里插入图片描述
在这里插入图片描述
分支创建成功后,点击TortoisSVN -> Switch 将弹出一个跳转分支的对话框,设置好参数,点击确定即可完成分支跳转。
在这里插入图片描述
在这里插入图片描述
如果我们在分支项目进行了编辑,现在想将分支与之前的主分支合并我们只需,分支创建成功后,点击TortoisSVN -> Merge 将弹出一个合并分支的对话框。
在这里插入图片描述
选择你需要的合并方式,点击合并,就可以看到合并后的项目文件了。
在这里插入图片描述
在这里插入图片描述


二、GIT

1.GIT介绍
  • 是什么?
    GIT是免费的一个分布式的版本控制工具
  • 诞生?
    Linus发明,最初是用来进行Linux版本控制。
2.集中式和分布式

在这里插入图片描述

  • 集中式是一台服务器,多个客户端,服务器负载大,崩溃了后果严重,且版本的提交受网络环境影响较大。
  • 分布式在集中式的基础上,给没每个客户端加了本地服务器,减轻了主服务器的负载,受网络环境影响小。
3.GIT的基本使用
安装

官网下载:https://git-scm.com/downloads
国内镜像下载:https://github.com/waylau/git-for-win

按默认选项傻瓜式安装即可。

安装完成后,右键单击桌面空白处,右键菜单里Git Bash Here,蹦出一个类似命令行窗口的东西(如下图),就说明Git安装成功!
在这里插入图片描述
在这里插入图片描述
安装完成后,还需要最后一步设置,在命令行输入:

$ git config --global user.name "Your Name"
$ git config --global user.email "email@example.com"

注意git config命令的--global参数,用了这个参数,表示你这台机器上所有的Git仓库都会使用这个配置,当然也可以对某个仓库指定不同的用户名和Email地址。

初始化版本

(从此处开始,操作均进行在上图所示的GIT命令行页面)
$ git init 在当前目录创建一个.git的目录,并指定当前目录是git的仓库。

添加文件

Git有3个区域,一个是工作区,一个叫暂存区,一个叫仓库
添加文件即将工作区的文件添加到暂存区。
$ git add readme.txt 添加指定文件
$ git add .$ git add -A 添加全部文件

提交文件

$ git commit -m 'add *.txt' 将暂存区的文件提交到仓库,引号里是备注

查看文件当前状态

$ git status

无提示表示当前没有文件在工作区和暂存区待提交;
红色提示表示该文件在工作区待提交;
绿色提示表示该文件在暂存区待提交。

查看变化

$ git diff

4.GIT时光机
查看提交记录

$ git log 展示当前版本及之前的所有提交过的版本信息

版本回退

$ git reset --hard HEAD^跳到上一个版本
$ git reset --hard 至少4位的版本号 跳到指定版本

在Git中,用HEAD表示当前版本,上一个版本就是HEAD^,上上一个版本就是HEAD^^,当然往上100个版本写100个^比较容易数不过来,所以写成HEAD~100

查看每一次操作记录

git reflog

撤销修改

git checkout -- readme.txt撤销readme.txt文件的修改(即将暂存区的内容覆盖到工作区)

删除文件
  • 从工作区删除文件:rm 1.txt
  • 从暂存区删除文件:git rm 1.txt
  • 从版本库中删除文件:git commit -m "remove 1.txt"
5.远程仓库
添加远程仓库
  • ssh认证方式:$ git remote add origin 远程仓库sshURL
  • http协议方式:$ git remote add origin 远程仓库URL

ssh认证方式需要ssh密匙认证,而http协议方式不需要。

origin为默认的远程仓库名,也可改为自定义的名字。

查看已添加的远程仓库

$ git remote

将本地仓库代码推送到远程仓库

$ git push origin master

  • origin指远程仓库名称
  • master指本地分支名称
从远程仓库克隆到本地

$ git clone 远程仓库URL

克隆到本地的地址为当前GIT命令行的路径。

从远程仓库同步最新代码

$ git pull

6.分支管理
创建与切换分支

$ git checkout -b 分支名

git checkout 命令加上 -b 参数表示创建并切换,相当于以下两条命令:
$ git branch 分支名 //创建
$ git checkout 分支名 // 切换

查看分支

$ git branch

合并分支

$ git merge 分支A 将分支A合并到当前分支

解决冲突

和SVN的操作近似:
手动解决–>git add–>git push

7.在Idea上开启使用GIT

在这里插入图片描述
在这里插入图片描述
这式,左边项目预览里的文件会变色(红色为未提交,绿色为已提交),右上角会有更新和上传的按钮,说明已经开始成功。
在这里插入图片描述
其他上述操作在Idea里皆为图形界面操作,较为简单不再赘述,实在遇到不会的,可以找到进入项目文件夹打开命令行手动操作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值