[新人培训之3 ] svn 用法 SVN 使用之注意事项
http://blog.chinaunix.net/u/22617/showart_372059.html
svn 命令操作非常简单

和cvs的操作基本一致 。



对于日常操作来说,最常用的就是那几个命令, svn co/update/add/ci




修改了某个文件,想传上去: svn ci bob.c -m "bob modify"

如果 想想cvs 那样, cvsi ci bob.c 的时候自动弹出 vi窗口,要设置SVN_EDITOR变量: export SVN_EDITOR=/usr/bin/vim   , 可以写死在 /root/.bash_profile 里面去。

新添加了某个文件, 想传上去, echo 1 > bob.c ; svn add bob.c ; svn ci bob.c

自己修改了, 发现错了, 想恢复到svn上面的版本, 可以用 svn update bob.c -r25 // 25 是版本号 。

想要删除某个文件bob.c   :   svn del bob.c   ;   svn ci bob.c

想彻底更新某个目录(可能改了某个目录的一些文件,都不想要了) , svn revert -R xxx   (xxx是那个目录)

------
比如 ,我checkout下来后,新建了一个目录,然后要上传整个目录, 这点比cvs强,
svn add xxx (xxx就是那个目录)   ,他会递规的增加整个目录的。
然后 svn ci 即可SVN 使用之注意事项: 再次强调一点使用svn/cvs 的流程:

比如bob ,假如我修改了比较大的地方的代码,
我的流程是:

1>checkout 下来kernel的最新版本 (如果以前已经有了就update 一下 , 具体的命令不能用update ,应该用svn revert
2> 修改,本地调试, 测试ok
3> check in 自己修改过的文件和增加的文件(svn add xxx) 。 注意人无完人, 可能会忘记传了某个文件,   你可以在根目录下 ,执行svn ci ,它会列出来你改了哪些文件
4> 上传完毕后, 把全部代码 checkout 下来 ,编译, 测试, 如果ok , 发mail 给相关的人, 内容,比如“I have updated "drivers/fs/ext3.c , pls update it " ,总之越详细越好,
最好精确到文件, 如果不能精确到文件 ,也要精确到目录, 不要说 ,"我更新了kernel的代码, 你update一下”这样的话 , 会给别人增加工作量,kernel 那么多的代码, 别人总不能每次都update , 那样时间会很长。

5> 等待着别人的问题报告。。。。。。


注意事项: 当你都没有稳定某个c文件的时候 ,不要check in , 不要三天两头checkin svn上的同一个文件(如果是这样,只能说明,你的改的还不稳定, 先自己测试稳定了再传)

另外, svn 不是个人的备份的仓库,是大家的财产,要一字千金的改。


  




可以参考, 我的帖子:

http://infomax/bbs/viewthread.php?tid=8&page=1&extra=page%3D1


下面是其中的一部分, 对于日常用已经足够了。

svn 命令操作非常简单 ,和cvs的操作基本一致 。

下面列出一些最简单常用的 。 对于EasySVN的用法, 都是图形界面,可以自己仔细琢磨一下 ,可以问Kyo ,Kyo比较熟悉。

! 利用平时的空闲时间 ,利用 http://192.168.167.103/svn/try/uucp-1.07 来练熟它 , 不要等到自己用的时候 ,手忙脚乱。 uucp-1.07 专门练手用 ,乱掉也没有关系。



对于日常操作来说,最常用的就是那几个命令, svn co/update/add/ci




1>修改了某个文件,想传上去: svn ci bob.c -m "bob modify"

2>如果 想想cvs 那样, cvsi ci bob.c 的时候自动弹出 vi窗口,要设置SVN_EDITOR变量: export SVN_EDITOR=/usr/bin/vim   , 可以写死在 /root/.bash_profile 里面去。


3>新添加了某个文件, 想传上去, echo 1 > bob.c ; svn add bob.c ; svn ci bob.c


4>自己修改了, 发现错了, 想恢复到svn上面的版本, 可以用 svn update bob.c -r25 // 25 是版本号 。


5>想要删除某个文件bob.c   :   svn del bob.c   ;   svn ci bob.c


6> 想彻底更新某个目录(可能改了某个目录的一些文件,都不想要了) , svn revert -R xxx   (xxx是那个目录)

------

7>比如 ,我checkout下来后,新建了一个目录,然后要上传整个目录, 这点比cvs强,
svn add xxx (xxx就是那个目录)   ,他会递规的增加整个目录的。
然后 svn ci 即可