SVN使用
之前学习了一些git命令,这次学svn命令,多少因此有些帮助也有些困惑。
首先,得明白git和svn的形态有些区别。git是“等大小”,svn是“不等大小”,即git各个工作区都可以当做仓库,svn只能由一台服务器来做仓库。
其次就是命令不同了,简单地记一些。
svn常用命令
svnadmin create /home/vanyo/repos
创建一个repos仓库(原先不存在这个目录);svn import /tmp file:///home/vanyo/repos/test -m "Initial import"
将本地的目录加入到版本库(这时,版本库中是不会复制该目录的,只是存在了自己的数据库中);svn checkout file:///home/vanyo/repos/test/xxx ./myproject
将版本库中的test/xxx checkout下来(其实就是git中的pull),这个时候,当前目录就会出现myproject这个仓库,svn checkout -r {"2006-02-17 15:30"}
checkout也可以用时间来选择版本号(有多种格式支持,注意有空格的需要用双引号包裹起来);- 之后就可以在这个属于自己的仓库中修改内容,比如在目录下创建了README.md这个文件,或者对README.md进行了修改;
svn add README.md
将修改后的README.md加入到自己的仓库中(特别是操作系统的命令,如touch一个文件之后);svn commit -m "update"
将修改的内容提交到服务器上;svn update
会更新当下工作区域的内容,和服务器上的同步;- 同时,要记住svn删除和移动文件之类的都有自己的命令,不要直接用本地的unix命令删除。特别的,
svn mv a\ b\
的时候会发现a目录还存在,但是内容都被移到新出现的b目录中,这个时候不需要去动a目录,直接commit