版本管理工具 svn

来源:互联网 发布:js触发事件 编辑:程序博客网 时间:2024/06/03 13:43
svn是版本控制工具,用于管理代码    常用的版本工具,git,svn
类似于银联卡,其特征和银联卡类似:受保护的和受约束的为什么要用版本控制工具? 方便管理,防止代码误删,防止弄乱别人的代码,并且每个人写的代码互相之间都不会产生冲突,方便下次再次编写代码
SVN是Subversion的简称,是一个开放源代码的版本控制系统.相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控制服务已从CVS迁移到Subversion.SVN就是用于多个人共同开发同一个项目,每个人的代码都可以互相的调用,共用资源的目的.
版本控制 协作svn有本地和服务端两种版本,本地到服务端commit,服务端到本地update日志记录操作,历史版本记录方便回滚
   个人代码 -- 版本控制工具中的代码 -- 版本控制工具的客户端 -- 版本控制工具的服务端    版本控制工具有很多种:svn,git....    svn客户端:TortoiseSVN    svn服务端:VisualSVNsvn客户端下载地址:https://tortoisesvn.net/downloads.htmlsvn服务端下载地址:https://www.visualsvn.com/server/download
进行svn安装时,需注意:1.我们使用的是tortoiseSVN2.VisualSVN-Server对应的是服务端的可视化界面,我们安装的时候 选择VisualSVN Server(如果不勾选的话就没有可视化界面了)和Add Subversion command-line tools(不进行勾选时在命令行里边输入命令不好使,不选的话我们以后需要在环境变量里边自己进行配置path)
1、在服务器端选择对应的某个仓库,上边便会显示一个路径。在客户端任何一个文件空白处右击,CheckOut—URL of Repository中填写刚才那个仓库的上边显示的url路径地址。在一个局域网或一台电脑上,IP 地址处可以填写电脑名;想通过公网连接,则必须为 IP 地址。2、Check Out:把下载下来的仓库存放位置。3、文件夹中的SVN隐藏文件夹不能删除,删除了改文件夹就跟普通文件夹一样了。(根据svn的版本不同,有的只有在最外层有此文件夹,有的是每个文件夹下面都有此文件夹)

1、在服务器端选择对应的某个仓库,上边便会显示一个路径。在客户端任何一个文件空白处右击,CheckOut—URL of Repository中填写刚才那个仓库的上边显示的url路径地址。在一个局域网或一台电脑上,IP 地址处可以填写电脑名;想通过公网连接,则必须为 IP 地址。2、Check Out:把下载下来的仓库存放位置。3、文件夹中的SVN隐藏文件夹不能删除,删除了改文件夹就跟普通文件夹一样了。(根据svn的版本不同,有的只有在最外层有此文件夹,有的是每个文件夹下面都有此文件夹)

每次更新。删除。增加后都要重新提交一次svn版本控制工具,多人协作,需要安装服务端和客户端,服务端要建仓库和用户,客户端checkout输入用户名和密码,和保存路径;commit提交本地磁盘增删改文件,可以留意蓝问号(新增),红感叹号(修改),绿钩(已提交)提交时文件的status状态是missing,modify等等
[ 查看全文 ]

1、在服务器端选择对应的某个仓库,上边便会显示一个路径。在客户端任何一个文件空白处右击,CheckOut—URL of Repository中填写刚才那个仓库的上边显示的url路径地址。在一个局域网或一台电脑上,IP 地址处可以填写电脑名;想通过公网连接,则必须为 IP 地址。2、Check Out:把下载下来的仓库存放位置。3、文件夹中的SVN隐藏文件夹不能删除,删除了改文件夹就跟普通文件夹一样了。(根据svn的版本不同,有的只有在最外层有此文件夹,有的是每个文件夹下面都有此文件夹)

svn常见的问题:1.多人操作同一个文件。对于提交时commit,我们尽可能的输入一些文字描述。commit里边上边是一个信息板,提供你提交内容描述,下边是对你要提交项目的勾选。2.我们在操作之前,我们再项目里边右键点击任意地方,选择TortoiseSVN----->settings,清除 Saved Data ----->Authentication data ------->Clear all,清除A的权限,因为我们现在要模拟的是A和B同时操作一个文件。3.多人操作同一个文件的时候,我们上传文件前要使用SVN Update更新文件,然后再Commit。4.如果我们打开文件发现我们原来写的内容发生改变,我们要知道谁动了我们的代码,我们可以右键点击TortoiseSVN,下边有好多svn使用命令,我们选择show log进行查看历史记录。里边的顺序是上边是最新修改的内容。红色感叹号 --->修改 绿色加号  -->表示新添加5.对于修改的代码有几种情况:      1.A的代码是正确的,我们右键点击历史记录里边A提交的代码,选择Revert to this revision。我们在我们的项目里边发现我们的文件又变成了 红色感叹号 ,同时里边的内容发生了改变。      2.B的代码是正确的 和A的操作相同。      3.A和B的代码都需要 当B修改完之后,里边已经有B的内容了,我们查看A的内容是否完整,如果完整,那么就OK了!如果不完整,我们把B的内容复制出来,然后回退到自己之前那个版本,把B的代码再粘进来。      4.A的需要一部分,B的需要一部分。 和3步骤一样。      5.B把这个文件删除了, 选择我们的项目,点击进入,选择 .svn文件,然后右键点击,选择show log ,我们就可以看见针对于这个项目的所有改动。我们可以回退或追回到我们要的项目。如果是删除了,在show log 面板里边分为两块,我们在下边这块会看到删除的文件,我们直接右键拷贝出来就好了!只要我们这个仓库文件 ---->.svn存在,我们就不用担心。

1、在服务器端选择对应的某个仓库,上边便会显示一个路径。在客户端任何一个文件空白处右击,CheckOut—URL of Repository中填写刚才那个仓库的上边显示的url路径地址。在一个局域网或一台电脑上,IP 地址处可以填写电脑名;想通过公网连接,则必须为 IP 地址。2、Check Out:把下载下来的仓库存放位置。3、文件夹中的SVN隐藏文件夹不能删除,删除了改文件夹就跟普通文件夹一样了。(根据svn的版本不同,有的只有在最外层有此文件夹,有的是每个文件夹下面都有此文件夹)
如何知道谁动了我的代码?如何找回代码?1.右键 - TortoiseSVN - show log2.选中要恢复的历史文件 - Revert to this revision【注:如果是文件已经被删除就在文件原来所在地show log,然后将需要的文件保存下来】
svn常见问题:1.A和B对同一个文件进行了修改,行号没有冲突。当我们进行提交时会提醒我们 commit failed。需要更新(you have to update your working copy first),我们点击OK,选择update进行更新。然后再提交。出现mecged,我们再commit。    2.A和B对同一个文件进行了修改,行号有冲突。        文件出现黄色小三角, 多了三个文件分别是 min(我的A) ,还有两个jar的包,版本分别是 10,11,版本号越大说明是最近修改的。 10表示的是之前未作修改那个版本,11表示的是B修改的版本。如果我们知道问题出在哪,选择用谁的版本,那么我们可以使用这几个版本进行恢复。 也可以在里边直接进行修改。然后我们再Revert。
6、良好冲突:如果A和B都在修改了代码,B先于A上交,当A去commit的时候,就会提交失败,必须先更新你的本地文件,那么B的代码会和A的代码同时存在(两个人修改的不是一个地方算好的情况了)。7、较差冲突:有冲突时提交会产生三个文件,.mine是自己改好之后的代码,rx,ry,x,y两个数字较小者是我改之前的代码,数字较大者,是服务端的代码1)如果要保留自己的版本,就用mine覆盖原来的代码,再次提交2)如果认为对方是正确的,就revert一下,这个时候已经拿到了最新的代码(不一定非要这样操作,但是这样方便)3)如果认为上一个版本是正确的,用版本较小的覆盖(直接删除改后缀名)经验1:如果Commit Failed!就不要点了ok继续按update了,先把自己的代码复制到一边,再把那个文件revert,再update,再把放在一边的文件重命名复制到相同文件夹下,选中两个冲突的文件,TortoiesSVN->diff,左边是最新的代码,右边的是我的,解决冲突之后两个人最好都update一下。经验2:与历史记录比对:show log之后,同时选中两个版本(比如现在到了第10版,那么要10/9先比较,看看有没有差异,没有差异,则比较9/8版,如果仍没有差异,以此类推继续比较)Compare revisions

原创粉丝点击