選擇SVN客戶端
Windows平臺
TortoiseSVN:也叫烏龜SVN,Windows上最流行的SVN客戶端,安裝后你的右鍵就會多了幾個SVN相關的菜單,非常方便
Eclipse插件:在Eclipse中集成SVN插件,適合使用Eclipse開發的用戶,查看使用教程
Mac平臺
CornerStone:Mac上最流行的SVN客戶端之一,查看使用教程
Versions:Mac上最流行的SVN客戶端之一,查看使用教程
以下教程以TortoiseSVN為例
Checkout同步代碼
在你需要保存代碼的地方右鍵選擇“SVN Chekout...”
填寫倉庫地址,例如:svn://svnbucket.com/nate/hello/trunk。
點擊確定就能同步代碼到本地了。
如果你還沒有代碼倉庫,你可以到SVNBucket注冊一個。
Update更新代碼
右鍵“SVN Update”就能更新到別人提交的代碼了。
Commit提交代碼
在提交代碼前我們應該update下代碼,這是個好習慣,可以避免覆蓋別人代碼和代碼沖突。
提交代碼也很簡單,右鍵“SVN Commit...”,填入提交描述,就可以把本地提交的代碼提交到服務器了。
忽略文件
有時候某些目錄或者文件我們不想提交到SVN服務器,這時我們可以忽略這些文件。
比如我們需要忽略hello這個目錄,選中需要忽略的文件夾或者文件,右鍵,依次選擇下面的菜單,就添加一條忽略了,recursively表示遞歸忽略,會忽略掉這個目錄下的所有東西
撤銷本地修改
有時候我們本地修改了一些文件,但是突然又不需要了,想丟棄本地的修改回去SVN上最新的版本怎么操作呢?
右鍵選中需要撤銷的文件,TortoiseSVN->Rever就可以丟棄本地修改了。
撤銷已經提交的代碼
已經提交到SVN倉庫的代碼發現改錯了,還能后悔撤回嗎?
1.TortoiseSVN==>show log查看提交記錄
2.選擇我們需要回去的版本,假設版本號2是我們的錯誤提交,這里選擇提交1,右鍵選擇"Revert to this version",這樣就回去了版本號1的版本,版本號2的提交就被撤銷了
3.最后你還需要commit下撤銷后的代碼到SVN倉庫,才是真正的丟棄了版本號2的提交
SVN倉庫目錄和開發建議
我們建議每個倉庫的根目錄都創建trunk、branches、tags目錄,如下圖:
開發時都在trunk寫代碼,上線產品后就創建分支到branches目錄,線上版本出問題了,我們應該在對應的分支上進行修復,并且把修復后的代碼合并到主干上。
Apache官方 SVN 最佳實踐指南
如何創建分支
以上面的目錄結構為例子,我們從當前主干創建一個分支出去,表示1.0版本,操作步驟如下:
1.右鍵trunk目錄=>TortoiseSVN=>Branch/tag
2.填寫分支路徑/branches/online1.0,填寫注釋,選擇最用最新的版本開分支,如下圖:
如何合并代碼
假設我們在分支上修復了一個線上的BUG,需要把代碼那個代碼合并到主干來,操作步驟:
1.在分支的跟目錄點擊show log
2.選中需要合并過去主干的提交記錄(可以多選)
3.點擊merge revision to ...
4.選擇主干的跟目錄,點擊確定,就合并過去了。
5.在主干上提交這次合并的內容
SVN的這個指定提交記錄合并功能非常的方便,我們日常中經常會遇到線上出問題需要修復,修復后把代碼合并到主干的情況。
這里需要注意的是,你在分支上的什么目錄點擊合并,那就需要定位到主干的對應目錄合并,不然會出錯。
另外如果你有大量的代碼需要合并或者不知道哪些提交記錄需要合并,可以使用Beyond Compare來進行對比合并,也是非常方便的。
切換分支
右鍵TortoiseSVN=>Switch=>選擇需要切換的分支,點擊確定就可以了
修改倉庫地址
如果您的倉庫地址變了,是不是需要重新checkout一份代碼呢?
快速更換:右鍵點擊倉庫根目錄 => TortoiseSVN => relocate,修改倉庫地址,點擊確定后就修改好了
其他相關教程
SVN常用命令
SVN鉤子解放你的雙手
輕松解決SVN沖突
SVN 和 Git 的一些誤解和真相
Mac用戶SVN圖形界面推薦
Eclipse安裝SVN插件和檢出代碼