关于svnimport的信息
本篇文章给大家谈谈svnimport,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、windows 怎么用svn命令
- 2、svn add import 文件上传
- 3、SVN中如何将指定文件或文件夹直接提交到svn指定目录?
- 4、tortoise svn1.8自建服务器,右键文件夹Import到服务器文件夹,为何服务器文件夹里没有刚刚import的文件?
- 5、当用Svn进行Import时,发生了中断会发生什么现象
windows 怎么用svn命令
1、Windows下命令行工具:
发现原来安装的tortoisesvn已经集成到shell中,不能在命令行下使用。
下载Apache Subversion command line tools,这是一个可以在cmd下使用的命令行工具,解压后把里面bin目录这个路径添加到环境变量的path,这样在cmd下就可以使用了,和linux下使用svn的习惯一样了。
目录约定:
/trunck:开发主线
/branches:支线副本
/tags:标签副本(一旦创建,不允许修改)
1)使用trunk作为主要的开发目录
一般的,我们的所有的开发都是基于trunk进行开发,当一个版本(release)开发告一段落(开发、测试、文档、制作安装程序、打包等结束后),代码处樱答袭于冻结状态(人为规定,可以通过hook来进行管理)。此时应该基于当前冻结的代码库,打tag。
当下一个版本/阶段的开发任务开始时,继续在trunk进行开发。此时,如果发现了上一个已发行版本(Released Version)有一些bug,或者一些很急迫的功能要求,而正在开发的版本(Developing Version)无法满足时间要求,这时候就需要在上一个版本上进行修改了。解决方法是基于发行版对应的tag,做相应的分支(branch)进行开发。
2)下图为struts2的SVN仓库目录:
3、常用命令
svn help
svn --version
svn --version --quiet 只显示版本号
svn checkout 地址
svn add 文件或者文件夹 增加本地数据到服务器
svn commit / svn ci -m “注释” 文件名 提交代码,要先add才commit
svn update / svn up 不必跟特定的文件或目录,也可以自己指定需要更新的文件或目录。每次commit或者改动之前最好更新一下。
svn log
svn delete 文件名
svn resolve 路径 --accept working 解决冲突
svn switch 远程路径 版本切换
svn list 路径 / svn ls 列出版本库下的文件和目录
svn merge -r m:n 路径 合并文件,从版本号m到版本号n的远程分支都合并到当前分支中
svn info 确认工作目录的svn信息
svn diff -r m:n 路径 对版本m和版本n比较差异
svn cleanup 为失败的失误清场
svn status -v 在本地进行代码修改,检查修改状态
svn import 远程路径 --message “message” 将当前路径下文件导入到版本库中
svn export 远程路径 导出一份干净的项目
svn move/ svn mv 原文件名 新文件名 举前重命名
svn mkdir 文件名
svn copy / svn cp 源文件路径 新文件路径
svn revert 文件名 只能恢复未提交之前的操作
若要还原已提交的改动:只能用旧文件覆盖新文件。操作如下:
1)sun up 让本地工作拷贝更新到最新状态
2)svn log your_file_path 查看文件日志,这时候提交时填写的说明信息就派上用场了
3)svn diff -r 旧修订版序号:新修订版序号 your_file_path 查看两个修订版之间的不同。
4)决定用哪个旧的修订版号后,用旧的修订版号文件覆盖新的修订版号文件。svn merge -r 新修订版序号:旧修订版序号 your_file_path
5)svn commit -m "恢复到某修订版(某修订版作废脊兄)"
本地的版本叫做working copy
4、关于merge
branch主要用于新功能的开发
合并发生在本地working copy,只要你不提交就不会影响到repository
合并前一定要先update、commit,保证不会out of day,并将本地的修改保存到repository
branch和trunk并行开发的过程中,要经常同步,将trunk的修改合并到branch,合并时选择"Merge a range of revision"
branch最后合并回trunk时,merge type选择"Reintegrate a branch"
不管是从trunk合并到branch还是最终从branch合并回trunk,在每次合并前最好先update,然后将本地的修改先全部commit,保护好现场,万一合并不理想随时都可以revert
5、关于解决冲突
发生冲突之后会出现三个临时文件:
XXX.mine XXX.r1 XXX.r2
一旦解决了冲突,需用svn resolved让subversion知道,这样就会删除这三个临时文件,冲突状态解决。
三种解决方式:
手工合并冲突:需要将冲突标志删除
用某一个临时文件覆盖自己的工作文件
用svn revert 放弃本地修改,不需要执行resolved
[img]svn add import 文件上传
其实你已经明白了,的确是要先checkout,然后才能add
SVN基于web页面只能进行查看,要增加、修改就必须要先checkout出来了,因为每次提交时SVN上传到服务器的只禅顷是一个增量包,而要产生增量包就必须有之前的数据进行比较握猛,所以必须先checkout。
import是可以不必先checkout,但必贺皮陆须是一个文件夹,而且在import的时候必须指定到导入到库里的哪个文件夹,如果指定错了就会让库的目录变的乱糟糟
SVN中如何将指定文件或文件夹直接提交到svn指定目录?
一般我们都是按以下步骤操作的:
1.先将那个目录checkout下来
2.将要添加的文件或者文件夹放到这个目录中
3.右击文件执行svn菜单中的add命令
4.右击文件执行svn菜单中的commit命令
如果只是单纯的提交一个文件到svn中某个目录用上面方法的话会不会很繁琐,如果能像共享文件夹那样直接复制粘贴多好,其实方法是有的。
如果要将某个文件夹aa连同册戚里面的文件一起放到svn的某个目录请按下面步骤操作:
1.右击文件夹执行svn菜单的import命令
2.在弹出的对话框中选择要放到svn的哪个目录中
3.确定即可
如果你要提交的仅仅是个文件(假设为c:\test.txt)你会发现在右击手尺的svn菜单中找不到import,这可能是svn的某个小bug,不过别担心,方法是有的:
1.打开cmd窗口
2.输入TortoiseProc.exe /command:import /path:c:\test.txt然后回车
3.这时会弹出和上面一样的对话框
4.选择要存放的目录,注意这时点确定的话会提示错误,还需要在目录后加个文件名字,而这个文件名字必须是svn中不存在的,例如/test.txt,写成/xxx.txt也行
5.确定即可
用这个方法来操州薯陵作文件夹也是可行的。
tortoise svn1.8自建服务器,右键文件夹Import到服务器文件夹,为何服务器文件夹里没有刚刚import的文件?
SVN 服务器端的存储结构不是简单的把客户端的内容复制隐败伍过来,而是按照每次提交的版本内容压缩灶或存储的,所以你不会在服务器端看到枯悉和客户端一样的文件夹结构
当用Svn进行Import时,发生了中断会发生什么现象
无妨,svn是原子操作的,再操作一次就是了。提交到服务器上的垃圾会自动清理
关于svnimport和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。