赞
踩
一、svn是一个代码版本管理工具,他能记住你每次修改,可以查看每次的修改记录,恢复到任何历史版本,恢复已经删除的文件
二、svn与git相比的优势:
三、主要应用:
四、首先你要有个svn仓库,即svn服务端,你才能用svn客户端操作svn仓库,svn仓库推荐使用svn桶svnbucket.com
五、安装svn客户端:window安装TortoiseSVN,iOS安装cornstone
六、在svnbucket.com
上面会有svn教程及安装教程(此处不赘述)
七、文件绿勾代表本地文件与服务器端的文件是同步的,红色感叹号表示本地文件做了修改但没有和服务器端同步,需要commit
一、检出checkout
二、新增add
三、提交commit:提交的时候可以双击文件查看改动的地方
四、更新update
五、查看历史记录
可以查看所有的提交记录
可以双击文件查看提交的文件和原文件之间改动的地方,如果没有原文件,那就是查看提交的文件
在每次提交前进行更新,可以避免冲突
一、撤销本地修改:假如你在本地对文件进行了修改,并且修改错了,修改后的文件还没有上传到服务器端,如何撤销修改?
所以我们还需要commit一下
三、恢复到指定版本:查看历史记录(操作见上一节),右击修改错了的那个版本,选择【复原到此版本】
根据提示选择【还原】,复原后你修改了的那个文件在本地就会显示一个红色的感叹号,表示该文件被修改了(从错误的内容还原成了正确的内容),所以我们还需要commit一下
一、假如我想忽略image文件夹中的内容,右击该文件夹,选择【去除版本控制并增加到忽略列表】,选择images,
然后image文件夹上会出现一个红色的叉❌,表示该文件夹已被忽略
我们再提交时,会发现images中的内容都被删除了
update、commit一下,❌消失
二、如果想要忽略一个文件,操作也一样,右击该文件,选择【添加到忽略列表】,选择想忽略的文件,这里是【添加到忽略列表】而不是【去除版本控制并增加到忽略列表】,是因为该文件还没有被svn管理,即还没有commit到服务端
因为我们忽略了这个文件,所以需要commit一下,告诉服务端我忽略了一个文件
三、如果想不再忽略,可以右击选择【加入】
或者选择【从忽略列表删除】
四、如果你想忽略一个已经提交了的文件或文件夹,那么你可以忽略他,再提交,svn会在服务端删除你忽略的内容
个人思考:svn其实每次都是以你最新提交的内容为准,每次提交都好像是一次覆盖?(不知道是不是这样的)
一、什么情况容易发生冲突
二、怎么避免冲突
三、如何解决:多个人修改了【同一个文件的同一行】引发的冲突
产生冲突后会自动生成几个文件:App.vue.mine是我修改的文档,App.vue.r7是版本7的文档,App.vue.r9是版本9的文档
一、什么时候需要开分支:
二、svn经典目录结构:
三、如何开分支
有一天我们在trunk上的开发已经完成了,可以上线了,我们可以开一个线上版本。首先将整个仓库checkout下来,右击trunk,选择【分支/标记】
会跳转到下面这个窗口,选择要保存的路径地址为branches/存放该版本代码的文件夹名称,其中branches表示分支文件夹,此处onlinev1.0为存放该版本代码的文件夹,选择版本库中的最新版本,点击确定,就创建完分支了,在本地update一下就可以看到branches文件夹中的分支了。
如果我们把分支branches/onlinev1.0、trunk单独checkout出来,以后我在trunk中修改代码并commit,不会影响onlinev1.0中的代码,这样我们可以把分支中的代码作为线上版本,只对其做线上问题的修复,但是修复了onlinev1.0中的代码,怎么同步到trunk呢?右击onlinev1.0,选择【显示日志】
会来到下面这个窗口,选中你要合并的提交记录(支持多选),然后右击,选择【合并版本到】,
会出现下面的界面,选择你要合并的文件夹
三、切换分支,现在我们新开了一个分支onlinev2.0(步骤如前,不再赘述),不用将它checkout出来,可以直接在onlinev1.0上切换分支,右击onlinev1.0选择【切换】
会出现下面的界面,在路径中通过下拉选择或者…选择你要切换到的那个分支
切换成功后,本地onlinev1.0这个文件夹名是不会变的,里面的代码变成了onlinev2.0的
一、暂存的作用:
以上两种情况,我们可以把代码暂存起来,等工作完成再恢复之前写的代码。
二、如何暂存:App.vue和main.js里面有我们写了一部分的代码,右击文档空白处,选择【shelve】
会出现下面的窗口,在path中勾选要暂存的文件,下面那个框中写暂存的这批文件的名字,此处命名为feature1,log message是日志信息,shelve按钮代表暂存代码后会把本地修改的代码撤销掉,checkpoint按钮代表暂存代码后本地的修改还会保留
点击checkpoint按钮后发现,本地修改的代码并没有被撤销
点击shelve按钮后发现,本地修改的代码被撤销了
恢复暂存的代码:右击空白处选择【unshelve】
会出现下面的窗口,在name下拉框中选择你想要恢复的暂存代码的名字,version下拉框中选择你想要修复哪个版本的暂存代码,
点击apply即可恢复暂存的代码
代码比较简单时,可以使用前面说的合并来合并代码,但是如果我们在trunk开发新功能,改了很多代码,分支是线上版本,修复了很多bug,两个分支的代码时间久了差异很大,无法直接分支合并或者指定提交记录合并代码,此时可以使用beyondcompare。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。