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

問題解決!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM