SVN是一種版本管理系統,前身是CVS,是開源軟件的基石。即使在溝通充分的情況下,多人維護同一份源代碼的一定也會出現混亂的情況,版本管理系統就是爲了解決這些問題。
SVN像時光機器一樣,可以讓你回到過去。因此凡是你認爲可能需要恢復以前樣子的工作都可以用SVN來管理。比如程序員編程、美工做圖、翻譯、異地監控工作進度,可以說SVN不僅在軟件工程領域發揮重大作用,在其他行業也用重要用途。例如兩個人合作翻譯一本書、幾個人設計一個工程圖紙,svn不僅可以讓你的工作恢復以前的狀態,而且可以起到一個備份的作用,非常重要的工作文件如果只保存在自己電腦裏,一旦電腦中毒或者硬盤損壞,可能造成不可估量的損失。但是如果用SVN來管理,每天把文件保存到SVN服務器,就不用擔心會丟失了。
日常開發過程其實就是這樣的(假設你已經Checkout並且已經工作了幾天):Update(獲得最新的代碼) -->作出自己的修改並調試成功 --> Commit(大家就可以看到你的修改了)。
聰明的讀者很快就要發問,如果兩個程序員同時修改了同一個文件呢?SVN可以Merge這兩個程序員的改動,對,合併,實際上SVN管理源代碼是以行爲單位的,就是說兩個程序員只要不是修改了同一行程序,SVN都會自動合併兩種修改。如果是同一行呢,SVN會提示文件Confict, 衝突,需要手動確認。
取出版本庫到一個工作拷貝:
來到任意空目錄下,在本例中是E:/svndemo/wc1,運行右鍵->Checkout,在URL of repository中輸入svn://localhost/trunk,這樣我們就得到了一份工作拷貝。
在工作拷貝中作出修改並提交:
打開readme.txt,作出修改,然後右鍵->Commit...,這樣我們就把修改提交到了版本庫,我們可以運行。
目前外網託管代碼的主要有
1. Google項目託管http://code.google.com/p/support/
2. 還有http://www.oksvn.com/這個網站也支持代碼託管
http://sourceforge.net/這個網站上有不少的開源文件