SVN客户端使用FAQ及常用的几个操作
来论坛几天了,在大家的帮助下,我终于搭建好了 apache2.0.59和subversion1.4.5.大家终于在我搭建的SVN的环境上开始用了
由CVS到SVN的转换,不光是工具的转换,其实还有工作流程及习惯的转换,目前还还磨合中,还有不少的问题等待我们的解决.
以下的内容部分是我从网上找的一些资料,部分是我在工作中遇到的,及解决.如以后还遇到有,将陆续添加
我也只是一个刚接触SVN刚3天的新手,希望和大家一起进步,
1.A:用户在登陆系统时,输入用户名和密码后,系统提示如下错误:403 Forbidden, 这是为什么?
Q:首先确定输入的路径是否正确;
如路径正确,请该用户与配置管理员确定是否具有访问该配置库的权限。
2.A:用户在登陆系统时,输入用户名和密码后,系统提示如下错误:authorization failed,这是为什么?
Q:请确定输入的用户密码是否正确,如果忘记密码,请与配置管理员联系。
3.A:在修改文件后,点击“SVN commit”后,系统提示:Error commit failed,这是为什么?
Q:请与配置管理员确认您对该配置库是否具有“写”的权限。
4.A: 在登录服务器时,不能正确登陆,并提示如下错误信息:could not resolve hostname,什么原因?
Q:该问题是因为不能解析地址中的域名,请检查TCP/IP 的DNS服务器地址设置是否正确。(我们公司地址中使用的是域名,直接使用IP应不会出现该问题)
5.A:用户在登录时,输入正确的地址,按“回车”键后,系统长时间未反应,最后出现“400 Bad Request”的错误,为什么?
Q:原因是卡巴斯基的WEB反病毒保护功能和SVN冲突:解决方案:
在“设置”->"服务"->"网络设置"->"端口设置中取消对80端口的监控;或在“设置”-〉保护-〉信任区域-〉添加-〉浏览,浏览TortoiseSvn 安装目录下TortoiseSvn\bin\TortoiseProc.exe文件即可。
6.A:为什么客户端无法提交,报告需要"clean up"的错误。
Q:Subversion客户端在提交内容之前会在本地的工作拷贝写日志,防止其他客户端再次作操作,如果这个提交过程中发生错误,就会存在未清理的日志,解决这个问题只需要运行清理命令。需要在目录或其父目录执行"右键->TortoiseSVN->CleanUp"。
7.A:为什么添加的文件,别人看不到,版本库里也没有?
Q:最可能的原因是,你用svn add(如果是TortoiseSVN可能是“右键->TortoiseSVN->Add...”)添加某个文件,只是在本地注明某个文件是预定要增加,而没有实际添加到版本库,要添加到版本库必须执行svn commit(如果是TortoiseSVN可能是“右键->svn commit...”)。
8.A:为什么我本地删除的文件,本地看不到,但别人那还仍然存在?
Q:最可能的原因是,你用svn delete(如果是TortoiseSVN可能是“右键->TortoiseSVN->delete...”)删除某个文件,只是在本地注明某个文件是预定要删除的,而没有实际删除到版本库,要删除的到版本库必须执行svn commit(如果是TortoiseSVN可能是“右键->svn commit...”)。
9.A:SVN是否具有将目前版本回退到以前的历史版本的功能?
Q:有,点击你到所需要的jsp或者java的文件,点击右键,"显示日志",点到你需要恢复的版本,右击"复原此版本".点击确认,然后按提交.
10.A:SVN是否具有将所有做增加删的文件导出(例如:release 的时候需要的修改的文件名及路径)
Q:有到你所需要查看的目录文件,右击,"显示日志",在窗口中选择你需要查看的几个版本,右击"复制到剪切版".打开TXT,可以将修改的文件,提交人,版次,信息都显示
11.A:SVN中修改一个文件,如在提交前,放弃修改,如何操作Q:有到你所需要查看的目录文件,右击,"SVN还原",则恢复到未提交前的程式.
12.A:SVN中提交文件前,如何知道是否在修改文件的这段期间有人也修改了程式,减少提交有可能产生的冲突Q:将你对文件的修改发送给版本库,称为提交修改。但在你提交之前要确保你的文件是最新的。你可以直接使用TortoiseSVN → 更新,
或者,你可以先使用TortoiseSVN → 检查修改看看哪些文件在本地或是服务器上已经有了改动。
如果你的文件是最新的,并且没有冲突,选择你要提交的文件和/或文件夹,然后TortoiseSVN → 提交....
提交的时候,进度对话框使用颜色代码来高亮显示不同的提交行为。
蓝色:提交一个修改。
紫色:提交一个新增项。
深红:提交一个删除或是替换。
黑色:所有其他项。
13.A:SVN中用来自别人的修改更新你的工作副本Q:从服务器上获取别人修改提交的改动到你本地副本的过程称为更新。更新可以针对一个文件、几个选中的文件或是整个目录层次。
要进行更新操作,请选择要更新文件和/或路径,右击选择右键菜单中的TortoiseSVN → 更新。
会弹出一个窗口显示更新的进度。别人作的修改将合并到你的文件中,你所做的修改会被保留。版本库受更新操作的影响。
紫色:新项已经增加到你的工作副本中。
深红:你的工作副本中删除了多余项,或是你的工作副本中丢失的项被替换。
绿色:版本库中的修改与你的本地修改成功合并。
亮红:来自版本库的修改在与本地修改合并时出现了冲突,需要你解决。
黑色:你工作副本中的没有改动的项被来自版本库中新版本所更新。
14.A:提交文件有冲突的情况,如何解决Q:当你从版本库中更新你的文件时,亮红:来自版本库的修改在与本地修改合并时出现了冲突,需要你解决。。冲突出现的原因是
两个开发人员修改了文件中相同的几行。由于Subversion不知道你的项目的具体情况,它把解决冲突的工作留给了开发人员。
一旦出现冲突,你就应该打开有问题的文件,查找以字符串<<<<<<<开头的行。打开文件有冲突的区域用如下的方式标记:
<<<<<<< filename 你的修改======= 来自版本库中的代码>>>>>>> revision你可以通过TortoiseSVN → 编辑冲突,编辑器手动解决冲突。做一些必要的修改然后保存。然后,执行命令TortoiseSVN → 已解决并提交人的修改到版本库。需要注意的是已解决命令并不是真正的解决了冲突,只是你确认你需要这样的操作,而且强制服务器允许你提交修改。
************************************************************
其他注意事项:当你在Browser 中修改库里面某个文件夹的文件名时,请注意修改后的文件名后不要带空格,否则将会出现一些意想不到的错误,给您的工作带来不必要的麻烦。
搜索更多相关主题的帖子:
FAQ SVN 客户端 FAQ SVN 客户端