SVN 命令备忘与自动更新作业至SVN服务器

svnserve -d  -r /data/svn2/(版本库保存地方),无端口启动方式

/usr/local/bin/svn co svn://192.168.1.104/cncar /home/web/cncar(working copy相应目录)

svn checkout path(path是服务器上的目录)
   例如:svn checkout svn:
// 192.168 . 1.1 / pro / domain
    简写:svn co

/usr/local/bin/svn up svn://192.168.1.104/cncar --username=darren /home/web/cncar

(svn up表示从服务器上同步文件)


1更新:  svn update

2清理:svn cleanup


3svn add (

svn添加文件,要先把要添加的文件放到working copy相应的目录下,执行add,再commit
checkout下来的文件夹放到你本地就叫做working copy,里都带着.svn文件夹,这个文件夹是你本地文件与svn服务器的连接文件
)


4.svn lock 加锁

  svn unlock 解锁

5.svn commit -m  (后面不要加文件),如果报错,svn commit -m --force-log 强制上传(

这个问题是因为在xcode使用svn上传项目的时候,如果在这个地方输入的名称与服务器上已经存在的名称冲突会报出这个错误,而且不能上传。要不然就是用 --force-log来强制上传


6.通过输入下面的命令可以查看各个版本的情况:
svn log path
(path是你想要查询的working copy的路径,如果你在这个路径下面输入的命令,可以省略path)


 svn update -r m path
   例如:
      svn update如果后面没有目录,默认将当前目录以及子目录下的所有文件都更新到最新版本。
     svn update -r 
200 test.php(将版本库中的文件test.php还原到版本200)
     svn update test.php(更新,于版本库同步。如果在提交的时候提示过期的话,是因为冲突,需要先update,修改文件,然后清除svn resolved,最后再提交commit)



注意:

在另一个目录下重新checkout,将工作拷贝上的最新数据(或其他项目)备份起来,然后将备份的文件覆盖到刚checkout d的目录,备份的数据可以用 

find -name ".svn" -exec rm -rf {} + 来批量删除.svn文件,然后checkout 到新的目录,千万不能将 .svn 隐藏文件夹checkout 到新目录


SVN 自动提交作业设置:

假设 /home/web/cncar 为项目目录,/data/svn2/cncar为版本库

cd /data/svn2/cncar/ hooks/

cp post-commit.tmpl post-commit


vi post-conmit

然后保存。

这个文件权限设置为 -rwxr-xr-x 即可。

最后测试...

现在客户端提交作业,就不用在SVN服务器上用svn update这么麻烦来更新版本了,在客户端上提交,则会自动更新到服务器。

完。


这里配置文件也说一下吧:


主配置文件 svnserve.conf


版本库名字:



帐号设置:

用户:

密码:


删除命令:

 svn delete 0620nginx.conf.bak
 svn ci -m  'delete test file'

svn delete --force file.txt  强制删除

完。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值