學會SVN的應用----源代碼託管

關於SVN

  1. Svn是什麼?
  2. Svn官方網站;
  3. Svn客戶端;
  4. Svn在線視頻幫助。

Subversion是什麼?

SVN是一種版本管理系統,前身是CVS,是開源軟件的基石。即使在溝通充分的情況下,多人維護同一份源代碼的一定也會出現混亂的情況,版本管理系統就是爲了解決這些問題。

Subversion能做什麼?

SVN像時光機器一樣,可以讓你回到過去。因此凡是你認爲可能需要恢復以前樣子的工作都可以用SVN來管理。比如程序員編程、美工做圖、翻譯、異地監控工作進度,可以說SVN不僅在軟件工程領域發揮重大作用,在其他行業也用重要用途。例如兩個人合作翻譯一本書、幾個人設計一個工程圖紙,svn不僅可以讓你的工作恢復以前的狀態,而且可以起到一個備份的作用,非常重要的工作文件如果只保存在自己電腦裏,一旦電腦中毒或者硬盤損壞,可能造成不可估量的損失。但是如果用SVN來管理,每天把文件保存到SVN服務器,就不用擔心會丟失了。

Subversion的一些基本概念

  • Repository(源代碼庫)-源代碼統一存放的地方;
  • Checkout(提取)-當你手上沒有源代碼的時候,你需要從repository checkout一份;
  • Commit(提交)-當你已經修改了代碼,你就需要Commit到repository;
  • Update(更新)-當你已經Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會有最新的變更。

日常開發過程其實就是這樣的(假設你已經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/這個網站上有不少的開源文件

動畫教程:http://www.subversion.org.cn/media/all.swf