使用svn命令行也有一段時間了,剛開始時各種不適應(yīng)烘挫,感覺比Git的命令行麻煩诀艰。用了一段時間后杂腰,順手多了呈野,但有時還是需要去查詢相關(guān)指令沉填,很費時間掂为。所以今天在此做個總結(jié),將一些常用的svn命令行記錄下來词身,以便忘記查詢時可以直接定位到。
1. checkout代碼到本地####
svn checkout path
abbr: svn co
eg: svn checkout https://10.23.12.243/svn/userName
2. 更新代碼####
svn update
abbr: svn up
//當(dāng)前目錄下所有文件更新到最新版本
eg: svn update
//更新test.js文件
eg: svn update test.js
3. 提交代碼####
svn commit -m '修改了test.js' path (文件的當(dāng)前路徑)
abbr: svn ci
eg: svn ci -m '更改了test.js文件' /src/test.js
4. 添加文件####
//添加文件
svn add path
//添加當(dāng)前目錄下所有js文件
svn add *.js
//添加不在版本控制的文件(就是標(biāo)注'?'的文件)
svn add file --force
//添加當(dāng)前目錄下所有不在版本控制的文件(eg:添加了許多張圖片)
svn add * --force
***執(zhí)行完add操作后需要commit才行***
svn ci -m '提交xx文件'
//一種不推薦的寫法(將兩個步驟合成一步)
svn add path -m '添加文件'
5. 刪除文件####
svn delete file -m '刪除文件file'
abbr: svn del/remove/rm
eg: svn delete test.js -m '刪除test.js文件'
//推薦用法
svn delete test.js
svn ci -m '刪除test.js文件'
6. 查看文件狀態(tài)####
svn status
abbr: svn st/stat
//當(dāng)前目錄下文件的狀態(tài)
eg: svn status
//查看單個文件的狀態(tài)
eg:svn status path
<?:不在svn的控制中;M:內(nèi)容被修改虽风;C:發(fā)生沖突棒口;A:預(yù)定加入到版本庫;K:被鎖定>
7. 查看日志####
//查看文件的所有修改記錄辜膝,及其版本號的變化
svn log path
8. 比較差異####
//查看當(dāng)前目錄下所有文件與上個版本的差異
svn diff
//查看test.js文件的版本差異
svn diff /xx/test.js
//比較版本r1和版本r2下test.js的差異
svn diff -r r1:r2 test.js
9. 恢復(fù)本地修改
//恢復(fù)test.js文件中的修改
svn revert test.js
//恢復(fù)當(dāng)前目錄下所有改動
svn revert -R .
10. 回滾已提交代碼####
這種情況下无牵,用svn merge命令來進行回滾。
回滾的操作過程如下:
1厂抖、保證我們拿到的是最新代碼:
svn update
假設(shè)最新版本號是28茎毁。
2、然后找出要回滾的確切版本號:
svn log [something]
假設(shè)根據(jù)svn log日志查出要回滾的版本號是25忱辅,此處的something可以是文件七蜘、目錄或整個項目
如果想要更詳細的了解情況,可以使用svn diff -r 28:25 [something]
3墙懂、回滾到版本號25:
svn merge -r 28:25 something
為了保險起見橡卤,再次確認回滾的結(jié)果:
svn diff [something]
發(fā)現(xiàn)正確無誤,提交损搬。
4碧库、提交回滾:
svn commit -m "Revert revision from r28 to r25,because of ..."
提交后版本變成了29。
11.查詢文件最近提交的改動####
1. 用svn info <Item>命令查詢巧勤,其中<Item>是要查詢的文件嵌灰,得到最近提交的Revision編號
svn info src/main.js
得到的結(jié)果中有這樣一行:Last Changed Rev: 9003
2. 再用svn diff -c <Revision> <Item>
svn diff -c 9003 src/main.js
就能查詢到最近一次提交的改動
12.SVN 幫助####
//查看svn的所有指令以及簡寫
svn help
abbr: svn ?/h
以上就是在工作中經(jīng)常使用到的一些SVN命令行,如果用到其它命令行颅悉,會繼續(xù)添加沽瞭。
參考鏈接:#####
http://www.cnblogs.com/liwanggui/archive/2016/06/28/5624147.html
http://www.cnblogs.com/Venom/p/5863673.html
http://blog.csdn.net/yangzhongxuan/article/details/7018168