版本控制工具

前言

关于版本控制,我们最常用的应该就是git和svn,两者之间又有各自的特色。这边记录一下各自的区别与使用。

一、SVN与Git的区别?

1.Git是分布式版本控制系统,
将项目克隆到本地后,每个人的电脑就是一个完整的版本库,在 Git 中的绝大多数操作都只需要访问本地文件和资源,一般不需要来自网络上其它计算机的信息。
而SVN不同,SVN是集中式版本控制系统,
版本库是集中放在*服务器的,而干活的时候,用的都是自己的电脑,所以首先要从*服务器哪里得到最新的版本,然后干活,干完后,需要把自己做完的活推送到*服务器。集中式版本控制系统是必须联网才能工作。
2.Git把内容按元数据方式存储,而SVN是按文件
因为git目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。.git目录的体积大小跟.svn比较,你会发现它们差距很大。
3.Git没有一个全局版本号,而SVN有
SVN的版本号实际是任何一个相应时间的源代码快照。每当版本库接受了一个提交,文件系统进入了一个新的状态,叫做版本,每个版本被赋予一个独一无二的自然数,一个比一个大,初始修订号是 0,只创建了一个空目录,没有任何内容。
4.GIT分支和SVN的分支不同;
分支在SVN中一点不特别,就是版本库中的另外的一个目录。如果你想知道是否合并了一个分支,你需要手工运行像这样的命令svn propget svn:mergeinfo,来确认代码是否被合并。然而,处理GIT的分支却是相当的简单和有趣。你可以从同一个工作目录下快速的在几个分支间切换。你很容易发现未被合并的分支,你能简单而快捷的合并这些文件。
5.GIT的内容完整性要优于SVN:
GIT的内容存储使用的是SHA-1哈希算法。这能确保代码内容的完整性,确保在遇到磁盘故障和网络问题时降低对版本库的破坏。

二、SVN的使用

1.TortoiseSVN 安装

1.1下载地址:https://tortoisesvn.net/downloads.html
1.2.页面里有语言包补丁的下载链接,一般下载Language Packs中的Language Pack_1.11.0.28416-x64-zh_CN.msi
1.3 运行下载的 TortoiseSVN 安装程序和TortoiseSVN 中文语言包
1.4.正确安装后,应该进行一次的重开机,以确保 TortoiseSVN 的正确无误。
1.5 修改 TortoiseSVN 默认语言:右击桌面选择TortoiseSVN中的Settings 然后将Language选择中文

2.TortoiseSVN 使用

2.1在本地建立一个您平常用来存放工作档案的工作目录
2.2进入创建的目录在空白处按下右键后,选择 SVN checkout(中文为SVN检出)。你会看到如下图界面
![在这里插入图片描述](https://img-blog.****img.cn/20201104101422816.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NjU4NDYwMQ==,size_16,color_FFFFFF,t_70#pic_center
2.3我们要填入的是 repository(版本库)的位置,对于 SVN 来说,repository 的位置都是URL,即你要从何处获得文件。Checkout directory(检出至目录),这个字段应该要指向您的存放目录。确认后,按下 OK按钮。
2.4提示检出完成,就表示动作完成。
2.5当你进行修改或新增操作后,想要上传更新后的版本,在修改文件夹中右键选择SVN提交,如下图所示:
版本控制工具在这里可以清楚地了解到哪些档案要被 commit或是update 到 repository(版本库)中。
如果您有档案不想在这个时候 commit 到 Repository,您可以取消选取的档案,这样他们就不会被 commit 到 Repository 中。
2.6点击"确认"后完成 commit 动作,然后您可以到 runoob 目录中,确定是否所有的档案 icon都有如下的绿色勾勾在上面,这样代表您的档案都正确无误的到 repository 中。
版本控制工具2.7当你想要从版本库中下载最新版本,在工作目录文件夹下右键选择SVN更新即可

三、Git的使用

1.Git的通常用法

这里参考该地址下的博客,写的较为详细。
https://www.cnblogs.com/duanming/p/11830252.html

2. idea中Git插件

2.1安装好IntelliJ IDEA后,如果Git安装在默认路径下,那么idea会自动找到git的位置,如果更改了Git的安装位置则需要手动配置下Git的路径。选择File→Settings打开设置窗口,找到Version Control下的git选项:
版本控制工具2.2在idea中创建一个工程
例如创建一个java工程,名称为springbootDemo,如下图所示:
版本控制工具2.3创建本地仓库
在菜单中选择“vcs”→Import into Version Control→Create Git Repository…
版本控制工具2.4选择工程所在的上级目录。如springboot然后点击“OK”按钮,,那么上级目录springboot就是本地仓库的工作目录,此目录中的工程就可以添加到本地仓库中。也就是可以把springbootDemo工程添加到本地仓库中。
选择之后在工具栏上就多出了git相关工具按钮:
版本控制工具2.5想将该工程提交到远程仓库中,我们要先将工程添加至本地仓库直接点击 commit按钮,将工程提交至本地仓库。
在工程上点击右键,选择git→Repository→push,
或者在菜单中选择vcs→git→push
点击“Define remote”链接,配置https形式的URL,git形式的无法通过。然后点击OK
2.6点击“push”按钮就讲本地仓库推送到远程,如果是第一次配置推送需要输入github的用户名和密码。
2.7如果你想从远程仓库克隆到本地,关闭工程后,在idea的欢迎页上有“Check out from version control”下拉框,选择git
版本控制工具版本控制工具此处仍然推荐使用htts形式的url,点击“test”按钮后显示连接成功。
点击OK按钮后根据提示将远程仓库克隆下来,然后倒入到idea中