svn 命令行问题收集

老忘记,老找资料,把svn命令行碰到的问题都记录下来。免得找笔记本找不到


原因: 要删除 a/b/c.txt 文件,一时手误,把整个a/b/删掉了。(使用的是svn del ......)
解决:

方法1:
1) mkdir a/b ; svn add a/b ;svn ci -m '' 同时取得版本号
2)cd a/b ; svn merge a/b/@head a/b/@111 (111为要合并的版本号即要回到哪里的版本号,第一个参数为目标,第二个为源) .但本人尝试了,恢复的文件是在a/下面的啊,不是在a/b下面的,只能移动过去。
方法2:
删除过程:svn rm a/b 则可用svn cp -r 111 a/b a (这是在没有提交误删情况下,如果ci了,只知道第一种方法了,不科学啊。) 除过程:svn rm a/b 则可用svn cp -r 111a/b a (这是在没有提交误删情况下,如果ci了,只知道第一种方法了,不科学啊。)
其它情况:
1、如果只是在本地删除,没有提交的话,只需要运 行: svn revert 文件名 命令即可。 如果是希望恢复整个目录的文件,可以用 --recursive选项:
svn revert --recursive
2、如果是已经提交到服务器,那么运行:
svn merge命令
3 就是上面我碰到的问题了,是文件夹.
总结思考:
merge命令的作用。既然merge是合并功能,我又可不可以直接在a/路径下操作svn merge a/@head a/@111呢,那就成了第二个情况了。经测试,不行

如果是文件改动有变化,想返回某个版本号,则可以用 如:svn merge -r 27:26 contacts.java


原因: 要编辑svn:igore文档,碰到的问题有1.SVN_EDITOR  无效及2.添加igore文档无效

解决:

1)。cd ~/ ; touch .bash_profile ; open .bash_profile ; 打开.bash_profile文件,编辑添加环境变量,这个是用户设置的环境变量,编辑系统的环变量也可以。

添加export SVN_EDITOR=vim 。 至此即可以在vim进编辑文档了。

2.1)。想创建了一个文件夹,并且把它加入版本控制,但忽略文件夹中的所有文件的内容:
 svn mkdir spool; svn propset svn:ignore '*' spool;svn ci -m 'Adding "spool" and ignoring its contents.'
2.2)若想创建一个文件夹,但不加入版本控制,即忽略这个文件夹:
 mkdir spool; svn propset svn:ignore 'spool' . ;svn ci -m 'Ignoring a directory called "spool".'  (此方法已使用过,有效)
2.3)若已经创建了文件夹,并加入了版本控制,现在想忽略这个文件夹,但要保持文件夹的内容:
svn export spool spool-tmp; svn rm spool;svn ci -m 'Removing inadvertently added directory "spool".';mv spool-tmp spool;svn propset svn:ignore 'spool' .; svn ci -m 'Ignoring a directory called "spool".'
我看了网上关于svn:ignore的介绍, 说对于没有加入版本控制的,可以直接设定成ignore,但不能对加入版本控制的文件和目录这么做。解决办法是,先删除再ignore, 上面的命令其实也是这个方式,只不过有导出再mv的过程。

总结思考:

编辑.bash_profile以前接触过多次的了,过一段时间又忘了,真是要动手记下才行。关于ignore,一直以来都是对已加入版本控制的已存在文件夹做处理,都不成功,只有创建新的文件夹再ignore成功,没总结到位啊。再说了,都在版本控制之中的文件夹,怎可以中途说ignore就ignore呢?肯定要先断绝关系之后才可以啊。



 
 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值