如何在命令行通过SVN命令筛选出修改过的文件并递交

问题:

如果一个目录中的文件过多,并且我们并不知道每个文件在SVN下的状态,这时如果我们只是要递交修改过的文件?

思路:

1,查看所有文件的状态

2,通过文件状态筛选出状态为“M”(修改)的文件

3,递交

解决办法:

1,输入命令:$svn st

查看所有文件的状态,比如:

guizhigngdemini:proj.ios guizhigang$ svn st

M      channels/91/src/AppController.mm

M      channels/91/src/dota_91.plist

M      channels/i4/src/AppController.mm

M      channels/itools/src/AppController.mm

M      channels/itools/src/dota_itools.plist

M      channels/ky/src/AppController.mm

M      channels/pp/src/AppController.mm

M      channels/tb/src/AppController.mm

M      channels/xy/src/AppController.mm

M      dota.xcodeproj/project.pbxproj

?      dota.xcodeproj/xcshareddata/xcdebugger

可以看出我的环境下的输出结果

2,输入命令:$svn st | grep “M” | cut -c 8->modified.txt

以上命令将会把状态为M的文件筛选出来存入modified.txt文件,可以打开此文件查看是不是正确的。

3,只将modified.txt中记录的文件递交到SVN服务器

输入命令:svn ci -m “add buyGoods fun to every channel” –targets modified.txt

比如:

guizhigngdemini:proj.ios guizhigang$ svn ci -m “add buyGoods fun to every channel” –targets modified.txt

Sending        channels/91/src/AppController.mm

Sending        channels/91/src/dota_91.plist

Sending        channels/i4/src/AppController.mm

Sending        channels/itools/src/AppController.mm

Sending        channels/itools/src/dota_itools.plist

Sending        channels/ky/src/AppController.mm

Sending        channels/pp/src/AppController.mm

Sending        channels/tb/src/AppController.mm

Sending        channels/xy/src/AppController.mm

Sending        dota.xcodeproj/project.pbxproj

Transmitting file data ……….

Committed revision 9413.

问题解决!

    原文作者:laogui
    原文地址: https://www.jianshu.com/p/5179a2d809a0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞