Chinaunix首页 | 论坛 | 博客
  • 博客访问: 14119
  • 博文数量: 16
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 100
  • 用 户 组: 普通用户
  • 注册时间: 2015-10-19 09:51
文章存档

2016年(3)

2015年(13)

我的朋友

分类: LINUX

2015-11-27 20:36:05

一个简单的命令: sudo apt-get install subversion


  假设你的项目工作路径(你刚开始建立的项目工作路径,没有进行过任何svn操作)为:/home/zzm/myproject


  #建立一个名为 myproject 的 repository


  svnadmin create /home/zzm/svn-repo/myproject


  #把 /home/zzm/myproject 下的内容导入到svn的版本库中,并建立一个本项目的版本库,版本号是 1。


  svn import -m "这是大爷的项目的第一个版本,刚刚导入的" /home/zzm/myproject file:///home/zzm/svn-repo/myproject


  现在我想跟你说一个概念,就是svn中的working copy,实际上我们在上面一共建立了两个文件夹,一个是你的项目文件夹:/home/zzm/myproject,另一个是你的项目的版本库文件夹:/home/zzm/svn-repo/myproject,这两个文件夹都不是所谓的working copy,真正的working copy是负责直接和版本库进行同步和记录操作的,在working copy文件夹内,有一个隐藏的.svn文件夹。通常我都不是在working copy文件夹里面直接操作,而是另一个地方编辑文件等,然后把在另一个地方改动的东西直接拷贝到working copy里面,然后执行commit命令进行版本的维护。要建立你的working copy只有使用checkout命令:


  #建立一个名为 my_working_copy 的 working copy


  svn checkout file:///home/zzm/svn-repo/myproject my_working_copy


  (根据你文件多少会有很多的输出,最后会告诉你当前你checkout的版本)


  #实际上你可以使用checkout命令获得项目的任意一个版本的全部内容,执行命令:


  svn checkout file:///home/zzm/svn-repo/myproject my_working_copy_version_number -r version_number


  (version_number即是你所要获得的项目版本的版本号,比如1,2或者3等)


  #如果你改变了你的working copy里面的内容,需要保存这次改变,即向版本库中添加一个版本,使用commit命令:


  svn commit -m "大爷我添加了几张图片,更新了项目的企划"


  (确保你终端当中的当前路径是你的working copy的路径,才能正确的执行本次命令)


  #经过几次commit之后,你可能有很多的版本在版本库里面,通过输入下面的命令可以查看各个版本的情况:


  svn log path


  (path是你想要查询的working copy的路径,如果你在这个路径下面输入的命令,可以省略path)


  ----------------------------------


  千万注意的内容:


  你在你的working copy目录中作文件操作时,比如删除或移动文件,不能直接用终端当中的命令 rm, mv 来进行,这样 svn 不能追踪到文件的变化,当你使用commit命令提交的时候,你不会得到任何的结果,想要让svn追踪你的变化你必须使用 svn del 或是 svn move 来完成删除或移动的操作,比如:


  # 我拷贝了一个文件到working copy中,需要让svn知道我拷贝了一个文件:


  svn add filename


  # 其他的:


  svn move filename /home/zzm/my_working_copy/new_folder/aa


  svn rename filename1 filename2


  svn del filename






出现commit failed,is not under version control的时候,先把新添加进去的文件用svn add 一下
svnadmin create home/laser/share/svn/mycode 建立版本库,版本库里会自动新建一些配置和数据库文件,需要配置的文件可以参考网上的安装教程
svn的使用心得:
svn启动命令是svnserve -d -r /home/laser/share/svn -r把svn文件夹作为svn的根路径,以后操作svn下面的版本库的时候,可以直接使用svn:192.168.0.12/mycode
先在原始源代码文件夹里写好第一版本代码,提交,下一次把版本库的代码checkout到另外一个文件夹作为workingcopy,再对代码进行操作,因为checkout之后的文件夹才是在svn的同步下的。可以直接使用svn add * 和svn commit -m “log message” *进行代码提交
关闭svn可以使用命令killall svnserve
启动另外一个svn可以指定端口 svnserve -d --listen--port 9999 /home/*****
阅读(399) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~