现在的位置: 首页 > 综合 > 正文

svn的使用方法总结

2013年10月15日 ⁄ 综合 ⁄ 共 1321字 ⁄ 字号 评论关闭

 

首先先要保证代码是最新代码,且验证通过!

1.      使用svn st | grep “^M”命令查看当前修改的文件,将其中不属于提交范围的文件恢复。

恢复命令为:单个文件svn revert FileName

            文件夹svn revert –r Directory

2.      使用svn st | grep “^\?”命令查看当前新增的文件,将其中需要提交的文件添加到svn版本控制。命令为:svn add ******此命令既支持文件也支持文件夹。

3.      使用svn st | grep “^\!”命令查看当前删除的文件,将其中需要提交的文件添加到svn版本控制。命令为:svn del ******此命令既支持文件也支持文件夹。

4.      使用svn st | grep “^A”命令查看当前纳入svn版本控制的新增文件,是否在提交范围内,将不需要提交的文件恢复,命令同1.中。

5.      使用svn st | grep “^D”命令查看当前纳入svn版本控制的删除文件,是否在提交范围内,将不需要提交的文件恢复,命令同1.中。

6.      最后使用svn st命令查看所有文件变更,全部确认OK后,上传。

命令为:svn ci –m "[log]"

补充命令:有时也很有用

1.   svn st | grep ^[^\?]”命令是查看当前纳入svn版本控制的除去新增的全部文件。

2.   svn st | grep ".xxx$" | xargs rm -f 将所有以.xxx结尾的文件删除掉

 

补充如下:

1.svn是如何工作的

    我想,要做好一件事情,必须要知道它的内幕.svn也一样.

某些新接触Svn的对Svn工作原理不太清楚,常导致后悔莫及的错误,有时虽然做对了却也是知其然,这里我简单说说我个人的理解,供大家参考,老手请绕行.

    svn是一个版本控制的软件,它通过记录有本地版本的信息的文件进行工作,这些本地版本信息有如某文件是否比服务器上的新等等.这些信息文件驻留在一个特殊的文件夹中,文件夹名字就是大家所熟知的".svn"或"_svn",在linux下用ll -a可以查看到这个文件夹的存在.

    这个移动的数据库也是本地和服务器进行沟通的桥梁,这意味着,你要想提交或更新代码需要让这个随军的数据库知晓,认识到这一点很重要.

举两个例子

    例1.你在工程下新增了一个文件code.cpp,其实服务器上并没有这个文件,本地随军svn数据库也不知道有这个文件,专业一点讲是"未纳入版本控制",所以你无法提交,只有用了svn add code.cpp 将code.cpp加入版本数据备案,在提交时本地svn数据在会向服务器申请空间,将代码提上去.

    例2.你感觉有个文件rubbish.cpp是多余的于是你在windows/linux操作系统的文件系统中删除了它.对于你来说是没有问题的,因为你知道这个文件没有用.但对于svn系统来说,却有很大的问题,因为本地的svn数据库仍然以为这个rubbish.cpp是存在的,这就比较麻烦.标准和作法是一开始就用svn del rubbish.cpp将该文件删除(有两层含义:①在磁盘上删除②在svn系统中删除).这样在svn
ci时就能将这个变化提交到服务器上了。

抱歉!评论已关闭.