一、svn版本管理软件
Windows上使用TortoiseSVN软件进行代码的上传、下载、提交、更新、等操作管理。
二、SVN与Git的区别
(一)SVN集中式版本控制系统
SVN版本控制系统是集中式的数据管理,存在一个中央版本库,所有开发人员本地开发所使用的代码都是来自于这个版本库,提交代码也都必须提交到这个中央版本库。
-
SVN版本控制系统工作流程如下:
1.在中央库上创建或从主干复制一个分分支。
2.从中央库check out下这个分支的代码。
3.增加自己的代码文件,修改现存的代码或者删除代码文件。
4.commit代码,假设有人在刚刚的分支上提交了代码,你就会被提示代码过期,需要先up你的代码后再提交。up代码的时候如果出现冲突,需要解决好后再进行提交。
(二)Git分布式版本控制系统
-
git中没有了中央版本库的说法,但是为了开发小组的代码共享,我们通常还是会搭建一个远程git仓库。但是和svn不同的是,开发者本地也包含了一个完整的git仓库,从某种程度上说本地的仓库和远程的仓库在身份上是等价的,没有主从之分。
-
如果是闭源项目,或者你习惯于以往的集中式的管理模式的话,那么在git下你也可以像SVN那样的工作,只是流程中可能会增加一些步骤。
1.你本地创建一个git库,并将其add到远程git库中。
2.你在本地添加或者删除文件,然后commit,当然commit操作都是提交到本地的git库中。(其实提交到git目录下的objects目录中)
3.将本地git库的分支push到远程git库的分支,如果这个时候远程git库中已经有别人push过,那么远程git库将不允许你push,这时候你需要先pull,如果有冲突,先处理好冲突,commit到本地git库后,再push到远程git库。
-
总结:我们每个开发人员的本地都会有一个git库,我们可以随时进行commit而不需要联网,可以随时查看历史版本,当某一个功能点开发完了之后我们可以将commit后的内容push到远程git库了,如果远程git库的版本在你上次clone或者pull之后变化了,那么需要进行pull并处理冲突,提交之后,在push到远程git库。
三、svn基本操作
(一)创建本地版本库
- 新建或进入目录下(比如E盘),右键 →TortoiseSVN→在此创建版本库。
- 创建成功。
(二)迁出配置库内容(SVN Checkout/SVN 检出)
-
新建或进入目录下(比如E盘),右键 →SVN 检出
-
URL of repository 填写仓库路径即可 (本地版本库链接或远程服务器地址)
-
Revision处,可指定版本,“HEAD revision”是指最新版。
-
点击“OK”按钮后,在弹出的对话框中输入用户名和密码,验证成功后,项目文件开始从远程服务器下载到本地工作目录中:
-
点击“确定”按钮后,即可获取完成,出现如下下载界面:
-
下载完成后,服务器上所有内容会出现在本地文件夹下
(三)更新文件(SVN Update/SVN 更新)
- 当仓库内文件、目录等发生改变,可选中要被更新的文件/目录,右键 →SVN 更新。
- 点击“SVN Update”后会弹出窗口显示文件更新的状态
(四)提交更新(SVN Commit/SVN 提交)
- 当本地文件修改后,若是需要更新到仓库,右键 →SVN 提交。
注:使用之前,要先Update一下,来确保是最新的,在修改文件上 - 然后填写关于本次更新的日志(log message),如提交人、修改了什么等
- 若提交成功,则当前的SVN版本号自动加1。
(五)增加文件(Add)
1.在本地目录中,若新建或添加本地文件但又需要修改完善,可通过鼠标选中文件,右键→“Tortoise SVN”的“Add”项。
注:此时添加的文件仅存于本地,可通过 SVN提交 上传到仓库。
(六)删除文件(Delete)
- 选中要被删除的文件,右键选择“Tortoise SVN”的“Delete”项
注:此时删除的文件仅存于本地,可通过 SVN提交 从仓库中删除(必须返回上级文件夹操作)。
(七)检查更新(Check for modifications)
此功能可以显示本地对文件所做的修改有哪些还没有提交。不光能看到对文件的修改变化,还包括增加文件或目录,删除文件或目录,移动文件或目录等。当他人提交了哪些文件的改动,也可通过此项来进行查询。
(八)SVN 还原(Revert)
在修改了某些文件后(文件未上传到配置库),需要返回到修改前的状态,右键→“Tortoise SVN”的“Revert…”项进行撤销
(九)锁定和解锁(Get lock and Release lock)
- 选中要被锁定的文件,右键 →“Tortoise SVN”的“获取锁定”项进行锁定,锁定后他人将无法修改此文件。
- 选中被锁定的文件,右键→“Tortoise SVN”的“解除锁定”项进行解锁。(需由锁定者操作)
(十)重命名文件(Rename)
1.在本地目录中,若需要修改文件/文件夹名,右键→“Tortoise SVN”的“改名”项进行重命名。
注:此时添加的文件仅存于本地,可通过 SVN提交 上传到仓库(必须返回上级文件夹操作)。
(十一)获取历史文件(Show log/显示日志)
显示该文件或者该目录被执行的操作,是被谁修改了,以及修改的时间和日期。鼠标选中文件夹右键选择“Tortoise SVN”的“Show log”项,系统弹出此路径下的所有文件版本信息。
(十二)文件的移动
右键→“Tortoise SVN”的“版本浏览器”项随意拖拽文件的位置即可实现文件的移动。
注:如果在服务器点击版本浏览器设置,默认提交;如果是在其他位置,则需要返回上一级进行 SVN提交 操作。
参考链接
https://www.cnblogs.com/xuliangwei/p/8626125.html