最近项目使用了SVN,为管理代码起到了很好的作用!但是,对于很多初步使用着,还是非常不容易!

公司使用的是Smart SVN 客户端。
Smart SVN 这个工具总体还是挺不错的!
在代码的提交和获取上纠结过一整子,纠结过了,就好了。
废话不说,行动!
 
一、从服务器上获取(拉取)代码
 
Project------>Check Out
 

 
 
二、提交代码到服务器
 
通过上述的操作,在本地指定的目录下,就存在了从服务器上下载下来的代码文件。
提交代码,就相对简单了。
1.右击你要提交的代码,进行相应操作:

 
2.选中,要操作的文件夹,使用快捷按钮:

如果是你一个人对代码进行操作,那一般不会冲突。如果多个人同时操作一个项目,那么,就要防止冲突。
一般可以这么操作:
1.从服务器Update到最新的代码到本地。
2.修改本地代码(工作ing……)。
3.提交代码前,先Update一次(因为被人可能已经提交过代码了,为避免本地版本过低)。
4.Commit自己的代码,到服务器。
 
三、常见问题
 
1.Smart SVN 无法上传*.a文件。
默认情况下,Mac上SVN配置文件,是不允许上传.a文件的,需要单独配置。
使用Smart SVN上传.a文件失败时,可以进行查看,并且重新单独上传。
 
这样,就能看到上传失败的文件。
 
选中指定要上传的.a文件,并且点击:

当然,可以设置电脑上的关于SVN的配置文件。来修改,让Smart SVN 允许上传.a文件。
 
2.修改电脑上的SVN配置文件。
打开~/.subversion/config所在的文件夹。

用记事本打开config文件,找到global-ignores项。global-ignores项列出的就是不允许上传的文件格式。如果你需要允许上传.a文件,那么,就将*.a删除掉。

当然,我们也可以,通过Smart SVN 来进行配置。
 
关Project----->Settings

一般可以自定义为:

*.o

*.lo

*.la

*.al

.libs

*.so

*.so.[0-9]*

*.pyc

*.pyo

*.rej

*~

#*#

.#*

*.swp

.DS_Store

 
建议,将Project----->Default Settings 也设置成一致的。
 
3.Smart SVN 上传.a文件的另一种方式。
其实,还可以将某种类型的文件,设置成Binary类型,这样,SVN就会忽略对其的检查,直接按照Binary类型来对待(SVN允许上传Binary)。通过,这种方式来达到,直接上传.a文件的目的。

4.将本地代码,脱离SVN控制。
其实,每个被SVN控制的文件夹,都有一个隐藏的文件*.svn,也就是记录和管理该目录下的文件。
可以通过,控制台命令,将指定目录下的.svn文件,全部删除掉,这样,就脱离了SVN。
 

sudo find /XXX/XXX/xxx -name ".svn" -exec rm -r {} \;

将指定目录下所有的.svn文件删除掉,这样,SVN就无法管理该代码。
 
总结:其实,Smart SVN就是图形界面下的SVN管理。我们完全可以用命令行来管理!很多问题,只要了解原理,都可以迎刃而解。
 
希望对你有所帮助!

Smart SVN的使用的更多相关文章

  1. iOS的SVN

    1.cornerstone     2.smart svn mac  (比较好用)   3.还xcode自带的.      

  2. Mac系统的SVN客户端:Snail SVN 精简版

    Mac系统的SVN客户端:Snail SVN 精简版 前言 本人在公司中,使用的是windows操作系统,svn客户端自然也就使用tortoise svn.但自从男朋友给我买了台macbook pro ...

  3. smartsvn 用法

    都说SMART SVN是最全的Mac上的SVN客户端工具,分Pro版和基础版,基础版跟Versions差不多,这里找了Pro版下载并破解:mac版本smartSVN客户端下载:http://www.s ...

  4. Mac操作技巧

    Command+Option+P+R,重置PRAM的. 官方关于重置PRAM的说明.(有助于电脑提速) 安装新版系统的时候失败,原因是下载的镜像有问题版本不对,具体是中国区暂未更新镜像,下载下来的有问 ...

  5. How to use SourceGear DiffMerge in SourceSafe, TFS, and SVN【项目】

    What is DiffMerge DiffMerge is yet-another-diff-and-merge-tool from the fine folks at SourceGear.  I ...

  6. svn + nginx unit + python3自动化发布web服务方法

    本周将python web服务管理更换成nginx unit以后发现接口性能有了明显的提升,访问速度快了不少.不过有个很大的问题就是使用svn自动化发布以后,服务并没有刷新使用新的代码运行,而又不懂得 ...

  7. svn 常用命令总结

    svn 命令篇 svn pget svn:ignore // 查看忽略项 svn commit -m "提交说明" // 提交修改 svn up(update) // 获取最新版本 ...

  8. svn常用命令

    1.新建版本库 [root@localhost repos]# mkdir -p project [root@localhost repos]# svnadmin create project [ro ...

  9. 对Maven、gradle、svn、spring 3.0 fragment、git的想法

    1.Maven Maven可以构建项目,采用pom方式配置主项目和其他需要引用的项目.同时可结合spring3.0的新特性web  fragment. 从现实出发,特别是对于管理不到位,程序员整体素质 ...

随机推荐

  1. maven 简单入门教学实战手册

    Maven那点事儿(Eclipse版)   前言: 由于最近工作学习,总是能碰到Maven的源码.虽然平时工作并不使用Maven,但是为了学习一些源码,还是必须要了解下.这篇文章不是一个全面的Mave ...

  2. 024--python re、logging、configparser、hashlib模块

    一.re模块 re模块又称正则表达式是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹 ...

  3. 002--linux基础命令

    退出终端命令:exit 关闭Linux系统的命令:init 0 切换虚拟终端的方法:Ctrl+Alt+F[1-6] who命令 :查看有多少个终端打开着 whoami命令:获取当前用户名 date命令 ...

  4. Ruby基本语法

    更新: 2017/06/09 更新: 2017/06/20 cattr_accessor定义类变量,相当于@@ 更新: 2017/06/23 生成类的实例 更新: 2017/06/24 补充loop的 ...

  5. hdoj5667 BestCoder Round #80 【费马小定理(膜拜)+矩阵快速幂+快速幂】

    #include<cstdio> #include<string> #include<iostream> #include<vector> #inclu ...

  6. template code 引用的一些问题

    1.问题: 引用同一个norlib.tt 下面的tt  . 一个KSTrade 正确. 一个 NDAP就报错. 报错说源文件某个函数有错误 helper.Common.tt 错误 2.结果: NDAP ...

  7. bzoj 3173: [Tjoi2013]最长上升子序列【dp+线段树】

    我也不知道为什么把题看成以插入点为结尾的最长生生子序列--还WA了好几次 先把这个序列最后的样子求出来,具体就是倒着做,用线段树维护点数,最开始所有点都是1,然后线段树上二分找到当前数的位置,把这个点 ...

  8. .NET Core 跨平台物联网开发:设置委托事件(二)

    系列教程目录 (一) 连接阿里云IOT (二) 设置委托事件 (三) 上报属性 (四)  SDK文档 属性.方法.委托.类 http://pan.whuanle.cn/index.php?dir=up ...

  9. ES6之箭头函数深入理解

    相对于普通函数的区别 新的书写方式 this 的改变 不能当构造函数 没有 prototype 属性 没有 arguments 对象 新的书写方式 书写方式很简单!直接看下图, 常规方式写一个函数 c ...

  10. jQuery笔记之工具方法—高级方法Ajax

    $.ajxa() ——基本使用 前提:先了解js的执行机制 $.Callbacks()——回调 $.Deferred()——异步 $.when() 网络服务器链接由<渡一教育>提供 --- ...