SVN使用手册1Word下载.docx
- 文档编号:21622658
- 上传时间:2023-01-31
- 格式:DOCX
- 页数:12
- 大小:388.07KB
SVN使用手册1Word下载.docx
《SVN使用手册1Word下载.docx》由会员分享,可在线阅读,更多相关《SVN使用手册1Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
2首次导入(import)
对需要进行版本控制的源码,需要先导入到版本库中,形成第一个修订版本。
使用import命令,可以使用TortoiseSVN的import命令。
首次导入之后,版本库中就已经包含了版本控制文件了,以前导入的文件也就可以删除了。
好了,现在我们在任意地方新建一个文件夹比如叫做import,里面新建三个文件夹design,release,trunk。
各个文件夹的作用已经在前面说了,在此不再赘述,然后将我们西安现在正在开发的项目放到trunk文件夹中,我们的项目有两个文件一个是A.java一个是B.java,
A.java文件中的内容是
publicclassA{
publicstaticvoidmain(String[]args){
System.out.println("
HelloEveryone!
"
);
}
}
B.java文件中的内容是
publicclassB{
还有就是我们把我们开发的设计文档design.doc放到design文件夹里,这些都放好之后,在import文件夹的空白处右击,在弹出的菜单中选择TortoiseSVN然后在弹出菜单中选择Import…,弹出如下内容:
(图3-2-1)
图3-2-1
在URLofrepository中填上访问地址,本地访问题写svn:
//localhost/即可,外面机器访问就需要填写IP了,然后在Importmessage里写上说明点击OK进入下一步。
大家就会看到如下界面(图3-2-2),填写上用户名和密码,为了更加快捷的工作,我们把Saveauthentication复选框选上,这样以后就不用一次又一次地输入用户名和密码了,不过如果你感觉这样不安全,你也可以在TortoriseSVN的settings里把它去掉。
点击OK,就会出现(图3-2-3)的界面。
图3-2-2
图3-2-3
这样我们的版本库中就有了我们要进行版本控制的项目,而且可以看到最后一句,当前的版本是1。
3.1首次检出(checkout)
需要将版本库的代码检出(checkout)到一个文件夹,就得到了一份工作拷贝,可以对工作拷贝进行修改。
可以使用Checkout命令。
注意,不要检出到刚才用于导入(import)的文件夹,否则文件的覆盖会出现错误,如果确实很需要,就先删除原文件夹中的所有内容,然后检出(checkout)。
检出所得的工作拷贝,每个文件夹中都包含一个.svn文件夹,其中包含了SVN的一些信息,有如版本库,不要进入这个文件夹,没什么好处。
具体操作是在你想的获得开发源码的地方比如说本例在E:
\workspace,在此文件夹里右击,在弹出菜单中选择SVNCheckout…,弹出如下界面(图3-3-1),因为我们只需要开发代码所以地址要定位到trunk文件夹,其他的默认即可,点击OK。
图3-3-1
如果刚才你没有让TortoiseSVN记住密码的话,Checkout的时候也会让你输入密码的,请输入对此目录有读权限的用户名和密码,不然的话会出错,这一次我用了Tom的用户名和密码。
然后我再在另外一台机子上用Jim这个用户名Checkout一份拷贝。
完成后就会看到trunk文件夹里的A.java和B.java就会被拷贝到workspace这个文件夹里,而且文件上面还带着绿色的对号,表示现在的文件没有作修改。
3提交修改(Commit)
现在可以修改你的项目代码了,比如说Tom给B.java添加一个Test方法,具体如下:
publicstaticvoidtest(){
Test!
添加完成后你就会看到B.java文件上的绿色的小对号变成了红色的小叹号,表明文件已经做了修改,如果感觉没有问题了,就可以将修改完的文件提交到版本库中,可以直接右击修改的那个文件,也可以在修改的文件所在的文件夹右击,然后选择SVNCommit…这时会弹出如下界面(图3-4-1),填写相应信息后,点击OK即可,这时如果没有让TortoiseSVN记住用户名和密码还是要输入的,输入之后会出现(图3-4-2)的界面,这时可以看到版本已经变成了2。
图3-4-1
图3-4-2
4更新(Update)
上一步中Tom把B.java修改了,然后提交到了版本库中,而这时Jim还是以前的,如果他想要看到最新的版本,那么他就必须更新他的拷贝,在需要更新的文件夹里右击或者需要更新的文件右击,选择SVNUpdate,这时就会提示你输入用户名密码,输入之后就会更新到最新的版本。
5合并(Merge)
由于有了版本控制,这样多个开发人员可以同时开发这个项目,当两个人Tom和Jim同时编辑一个文件B.java,Tom编辑完之后将修改提交,当前版本是10,他为Test方法添加了一句话:
System.out.println("
TomTest!
没有任何问题,提交之后版本就会加1,,提交后变成11,当Jim修改完,他在B.java里添加了一句话
JimTest!
他当前的版本是10,当他也想提交时,问题来了,出现了下面的错误(图3-6-1):
图3-6-1
意思就是说当前你提交的版本低于版本库中的版本,已经过时了,这说明有人在此之前提交过,这时侯Jim必须先升级他的B.java文件,升级如果与当前本地的版本有代码不一致的地方也会提示如下错误,表示SVN无法自动处理这些差异,需要人工去合并(图3-6-2):
图3-6-2
B.java上的图标也变成了黄色三角叹号,而且当前文件夹里会出现几个文件,文件名都是修改了的文件的文件名加上版本号,比如说当前Jim的就是B.java.r10,B.java.r11,B.java.mine等,这些文件中存放的都是各个版本的此文件的内容,.mine里的是本地修改后的文件内容,这些文件都是为了让你手工去合并而产生的,。
手工去合并有一些方式,推荐使用TortoiseMerge,具体操作为更新完毕后再次CommitB.java文件,这个时候就会发现如下(图3-6-3),
图3-6-3
B.java是红色的标注的,并且是conflicted(有冲突的),这个时候双击列表框中的B.java就会打开TortoiseMerge的界面(图3-6-4)
图3-6-4
在这里面可以很清楚的看到,左上角上是Theris,也就是版本库中的B.java,右上角是Mine,也就是自己的B.java,下方是Meraged,表示合并之后的B.java。
而且列数里还有一些小图标:
我们说说小图标的意思。
:
表示这一行被添加了。
表示这一行被删除了。
表示这一行只包含空格一类的修改,并没有实际代码的变化,或者是几行合并成为了一行,你不需要对代码进行修改。
这一行是用TortoiseMerge手动修改的。
表示这一行现在有冲突。
表示这一行以前有冲突,但是冲突的效果被空格和回车隐藏了。
表示这里行里修改因为恢复了原始的内容,修改都被解除了。
在这里面可以清楚的看到,两个版本中的不同之处,如果想留下Jim写的,也就是Mine中的System.out.println("
,那你就可以在Mine中的红色的那一行里右击选择Usethistextblock,意思是使用这一行,这时候你就会看到下方Merged里的那一行问号变成了刚才选择的那一句。
现在说说菜单项的作用:
在上面那两个窗口中:
●Usethistextblock:
表示使用这一行。
●Usethiswholefile:
表示使用整个这一个文件。
●Usetextblockfrom“mine”before”thires”:
表示冲突的两句话都要留下,但时mine的在前面,thires的在后面。
●Usetextblockfrom“thire”before”mine”:
表示冲突的两句话都要留下,但时thires的在前面,mine的在后面。
在Merged窗口中的菜单项基本上上面的明白了,这里的也就明白了,呵呵。
我们现在想要冲突的两句全都留下,而且Tom的在前,Jim的在后,我们就可以在Merged窗口中右击冲突的一行使用Usetextblockfrom“thire”before”mine”,这样就达到了想要的效果,修改完之后,别忘了最重要的一步:
就是确认已经Merge完毕点击图标工具栏上的
图标即可,然后就可以关闭TortoiseMerge,这个时候就可以点击OK来提交了。
如果代码不是很多,你可以直接打开更新后的B.java可以看到里面在有冲突的地方有相应的标注,如下:
<
.mine
=======
>
.r11
这个表示本地文件在这一行是System.out.println("
,而版本库中的也就是第11个版本的B.java是System.out.println("
,现在就需要决定是留哪一句,通过与其他开发人员交流之后,知道怎么改了,就可以将那些标注和不能留下的语句去掉即可,然后将那些自动生成的B.java.r10,B.java.r11,B.java.mine等文件删除,然后再次Commit也是可以的,这个方法只适合代码较少,很容易发现不同之处的情况,不过还是使用TortoiseMerge好。
6回退(Updatetoreversion)
这个情况是很容易发生的,那就是当大家修改了代码之后,发现程序有很大漏洞,而且及其难改,这个时候就可以将你的项目回退到以前的版本,具体操作是:
右击想要回退的文件夹或者文件,在TortoiseSVN弹出菜单中选择Updatetoreversion…然后回弹出一个界面,比如说我们想要回退到第10个版本只需要在Revision中填写相应的版本号,然后点击OK即可。
7BranchandTag
当我们开发到一定程度,感觉这个版本已经做够成熟了,已经可以拿来发布了,我们可以将这个版本当做一个备份保留起来这样以后修改,出了大问题可以立刻拿这里面的版本来用。
操作方法是:
首先从版本库中将trunk中的项目checkout到一个文件夹里,然后右击checkout下来的这个文件夹,TortoiseSVN弹出菜单中选择BranchandTag…,然后就会看到如下界面(图3-8-1):
图3-8-1
在ToURL里填好路径,既然是可以发布的版本,我们就把它放到release文件夹里的V1.0文件夹里吧,如果没有这个文件夹会自动创建的。
然后在下面的Log窗口里写上日志,点击OK即可。
然后我们可以使用TortoiseSVN里的RepositoryBrower来看看是否加入了。
8导出(Export)
我们想要给客户一个项目,当然不能带版本信息,我们可以用TortoiseSVN菜单里的Export来实现,新建一个文件夹,右击文件夹TortoiseSVN菜单里选择Export…如下图(图3-9-1):
我们将我们刚刚做好的V1.0版本导出,点击OK即可。
图3-9-1
9版本库浏览器(RepositoryBrower)
你可以随时通过版本库浏览器(RepositoryBrower)来查看版本库中的变化,打开后如下图(图3-10-1)
图3-10-1
在这里可以看到文件和文件夹都有对应的版本和作者还有最后的修改时间,这里的作者表示最后修改的那个人。
10TortoiseSVN的一些设置
在packs里可以下载到TortoiseSVN中文语言包,英文不好的同学可以下下来对比着使用。
想要去除TortoiseSVN的一些记录功能可以在TortoiseSVN菜单里的settings里的SaveData里将不需要的clear掉,提高安全性。
如下图(图4-1-1),修改语言的话在General里的Language里修改。
图4-1-1
11参考文献
SVNBook,TortoiseSVN文档,TortoiseMerge文档。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SVN 使用手册