版权声明:本文来自 Crocutax 的博客 , 转载请注明出处 http://www.crocutax.com
客户端关联SVN仓库方式
方式一(本地空目录)
- 创建一个空文件夹,空白处右键 checkout,输入服务器仓库的URL
- 当checkout的文件夹下多了个.svn的文件夹时代表关联成功
方式二(本地有项目文件夹)
- 将客户端项目import到服务器仓库
- 删除本地文件
- 将刚才导入服务器的项目checkout检出到本地,完成关联
提交
- 文件上有"?"图标时,代表服务器不知道该文件存在,右击 add,让该文件计划提交
- commit提交,注意提交备注信息
- 养成先update,再commit的习惯
误删恢复
- 本地删除 ,恢复方法:SVN Update
- 服务器删除 ,恢复方法:show log,revert to this version
版本冲突
* 当本地版本低于服务器的版本,就会出现提交的冲突,因此每次提交前,先从服务器更新最新版本到本地.
* 比如用户A提交,用户B编译代码后没有update,直接提交,就会产生冲突
* 冲突解决
edit conflicts 自己编辑冲突
resolve 让系统自动解决冲突(合并两者的代码,有点麻烦)
图标解释
1.绿色的对勾 : 首次关联仓库成功后,代码提交完成
2.蓝色?号: 服务器不识别该文件,新建的文件
3.蓝色+号: 计划将该文件提交到服务器的仓库
4.红色!号:文件修改了
5.黄色!号:产生冲突了。
6.灰色对勾: 只读文件,如果需要修改需要右击 get Lock
7.黄色小锁: 获取锁可以修改文件。其他用户不能再次获取锁来修改文件
8.灰色横杠: 被忽略,不提交服务器
锁操作
* 图片、视频、so、等不可被编辑的文件才使用锁,其他慎用。
* 锁只能锁住一个文件状态,如果该文件被修改了,锁自动就没了。
提交原则
- 先update,后commit
- 每完成一个小模块,每天下班前都需要提交
- 禁止提交不能通过编译的代码
- 每次提交必须书写明晰的标注
- 不要提交自动生成的代码
- 慎用锁定功能
其他注意事项
- 提交时候提交的是一个目录,右键空白处选择提交,默认提交的是文件所在的整个目录
- 永远不要去删除Server端的仓库,否则无法找回代
- 谨慎使用还原,因为如果本地代码没有commit,那么还原后没有commit的代码将无法找回
- 直接忽略的文件,直接显示横杠 ; 已提交过的文件,设置为忽略时,会先显示红叉,提交后,变为白色横杠
- 由于是已经提交过的文件,所以设置为忽略时,显示红叉,表示计划从版本控制中删除,当提交后,就从服务器里删除了,然后成为忽略状态.如果一个文件没有提交过,直接设置为忽略,是显示不出红叉的.因为服务器里没有,不需要计划删除.
修改远程仓库url地址
TortoiseSVN->Relocate(重新定位),输入修改后的URL地址即可.
常见错误
Unable to connect to a repository at URL "https://..." Access to "/svn/..." forbidden
- 跟管理员确认自己是否拥有该仓库的访问权限
- 有权限的前提下依然存在此错误,则
TortoiseSVN-->Settings-->Saved Data-->clear
,即可解决
SVN 图标不显示
svn图标不显示的解决方案 ,自己依靠第四种方法解决了问题.
网友评论