svn command 常用

转载自http://www.codelast.com/?p=5719


(1)查看日志
提交的时候一般会写上注释,如果要查看提交日志,用以下命令:

1
svn log -l 4

其中,-l 4表示只查看最近4条日志(也可以没有这样的参数,就表示查看所有日志)。但是你通常会很抓狂地发现,最近的几条日志中,竟然没有你才刚刚提交的那一次的日志!这是怎么回事?日志丢了吗?
其实,是因为你要很用以下命令,更新本地的版本库,才能看到最近提交的日志:

1
svn up

这事如果你没注意到,那么可能会浪费你很多时间。问Google也不好找答案,因为这个问题不太好描述,所以不好搜索答案。

(2)查看指定的版本修改了哪些文件

1
svn diff --summarize -c 566

其中,566是你指定的版本。

(3)查看某个文件在指定的版本修改了什么内容

1
svn diff Test.java -c 566 > codelast. diff

其中,Test.java是你要检查的文件,566是你指定的版本,最后diff被输出到了codelast.diff文件中。

(4)提交

1
svn ci -m "Your comment"

其中,Your comment 就是你填写的注释,如果你想换行写,也是可以的,只要你不写后面的那个引号,你可以写一行就回车一次,最后写完了,再加上后面的引号,然后再回车,就执行提交动作了。

(5)检出指定版本的版本库

1
svn co https: //xxx -r 566

其中,https://xxx 是你的版本库地址,566是你要检出的版本号。版本库将被检出到当前路径下。
文章来源:http://www.codelast.com/

(6)将指定version的trunk上的代码拷贝到tags的指定目录下

1
svn cp https: //svn .codelast.com /trunk/my-project @1333 https: //svn .codelast.com /tags/my-project-r1333

如上命令将trunk下的 my-project 项目的 1333 版本拷贝到了tags下的 my-project-r1333 中。

(7)将branches上的指定版本合并(merge)到trunk上
有时候我们会在一个分支(branches)上开发,等开发完成的时候,需要把我们已经提交到branches上的代码合并到trunk上,假设你本地的工作目录是在branches上(刚开发完branches上的一个版本,提交了代码),那么可以像下面这样做:

1
2
svn switch trunk-url-of-your-project
svn merge branch-url-of-your-project

其中,第一条命令是将本地工作目录切换到trunk上。执行完这条命令后,你本地的工作目录里的文件就会变成与trunk里的文件一致。
第二条命令是将branches上的文件合并到本地。执行完这条命令行,你本地的工作目录里的文件就会变成与branches合并的结果。但是请注意,由于本地的工作目录已经是trunk了(用svn info可查看),所以这一更新,就导致本地有若干文件变成“已修改,但未提交”的状态。因此,你需要把本地因merge被修改过的文件提交一次,就可以使得trunk上的文件变成与branches合并后的版本:

1
svn ci -m "Merge branch to trunk"

文章来源:http://www.codelast.com/
关于svn merge的更详细说明,可参考此文档

(8)为文件添加上可执行权限
假设你有一个脚本文件checkin到代码库中了,但是你在commit之前,却忘了给它添加可执行权限,那么,当checkout出来这份代码时,就会得到一个没有x权限的脚本,还需要手工再为它添加上x权限,非常麻烦。所以,要为该文件添加上x权限:

1
svn propset svn:executable on your-script.sh

然后再 svn ci 提交修改即可(尽管你没有修改文件内容,只是修改了文件的权限,也是会被标记为已修改的,需要将此修改提交到代码库中)。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值