如何在命令行通过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.

问题解决!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容