Stay hungry, Stay foolish

0%

svn commit仅提交部分更新

在win下提交里可以对更新的文件进行选择,linux命令行下怎么实现呢?

直接使用commit

在svn commit后面直接加上要提交的文件,以空格分隔:

1
svn ci -m "message" file1.php file2.php path1/file3.php

这种方法最容易,但是太麻烦。

使用changelists

changelists可以把要更新的文件放到不同的list中,分批提交:

1
2
svn cl math-fix hello.txt world.txt
svn cl ui-fix test.txt

这时用svn status查看状态:

— Changelist ‘ui-fix’:
M test.txt

— Changelist ‘math-fix’:
M world.txt
M hello.txt

仅提交math-fix列表里的文件:

1
svn ci -m 'math-fix list submit' --cl math-fix

这种方法已经可以满足我的需求了。但是把文件一个个添加到list里同样显的太过繁琐。

有没有方法把所有更新写入到一个list中,然后把不需要的移除呢?

使用-R递归添加

1
svn cl math-fix -R .

-R参数后面有一个点,代表当前目录

对部分文件做移除:

1
svn cl --remove hello.txt

参考资料

[UPDATA-20120714]
很多IDE(如NetBeans)都集成有SVN管理工具,可以进行可视化操作。

据说打赏我的人,代码没有BUG