Ubuntu使用之Svn命令小技巧


注:
[svn Path]:是指要代替碼分支的server絕對路徑
[Path]:是指終端相對當前文件夾的相對路徑。假設是在當前文件夾下,就省略路徑


①.取svnserver的代碼:

svn co [svn Path]


②.查看當前文件夾的svn狀態:

svn st


③.查看某個文件夾的svn狀態:

svn st [Path]dirName


④.查看某文件在svn上的改動記錄:

svn log [Path]fileName


⑤.查看某文件/文件夾在svn上的近期n次改動記錄(n必須是大於0的整數):

svn log [Path]fileName/dirName -l n


⑥.查看某文件/文件夾在svn上的近期n次提交信息(包含修改哪些文件):

svn log [Path]fileName/dirName -l n -v


⑦.查看某個svn號的改動所涉及的文件:

svn log -v -r r949


⑧.查看某文件在svn上的二個改動記錄差別(有差別的內容,冒號前面的記錄內容顯示為-;后面為+):

svn di [Path]fileName -r r1:r2


⑨.查看某文件與svn上的差別:

svn di [Path]fileName


⑩.添加某個文件:

svn add [Path]fileName


11.刪除某個文件:

svn rm [Path]fileName


12.添加目錄:

svn add [Path]dirName --no-ignore


13.刪除目錄:

svn rm [Path]dirName -rf


14.某目錄下新增一部分文件(僅僅有新增的文件)(有.so文件的。最好后面加keyword --no-ignore):

svn add $(svn st [Path] | awk '{print $2}')
svn add $(svn st [Path] | grep "?

" | awk '{print $2}')


15.某目錄下刪除一部分文件(僅僅有刪除的文件):

svn rm $(svn st [Path] | awk '{print $2}')


16.清理新拷貝的文件夾及子文件夾以下到全部.svn文件夾

find [Path]dirName -name ".svn" | xargs rm -rf
rm `find [Path]dirName -name .svn` -rf


17.提交到server:

svn ci [Path]fileName [Path]dirName -m "Changed notes"


18.假設文件名稱中帶有字符“@”。svn add 或 svn rm 時要在最后加上一個"@"字符才干夠識別對應的指令:

svn add 702641@tmall_3.2.0.apk@
svn rm 702565@laiwang_android_4.1.2.apk@

19,grep 過濾.svn文件
打開 ~/.bashrc (這是bash的當前用戶配置文件),在文件的最上方加入這樣一條:
export GREP_OPTIONS="--exclude-dir=\.svn"
(注意 = 的前后不能有空格。不然在加載該配置文件時會提示錯誤)
保存並關閉。同一時候在命令行鍵入例如以下命令:
source ~/.bashrc (讓bash又一次讀取腳本)

20.patch 同步代碼使用方法
產生同步代碼文件包:
svn di > xxx.patch
合並代碼文件包的改動:
patch -p0 < xxx.patch


免責聲明!

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



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