天天看點

google code

說到源碼管理,CVS,VSS,SVN,TFS大家在公司可能都用的比較多了。但是在公司的環境基本都是在區域網路中或者是專線連結到遠端伺服器來使用。平時自己在家和朋友一些寫一些代碼的時候都苦于沒有代碼管理工具,沒有網絡環境,而不能不把代碼傳來傳去,很是麻煩。不過Google code提供了免費的SVN空間,主要注冊了GMAIL,然後就可以使用SVN進行源碼管理,和其他人共同開發了。

網上有介紹的,不過我看了都不怎麼詳細,自己摸索了下,寫下來大家分享下。

一 通路Google code

google code

二 建立自己的項目

在建立項目的頁面,填寫項目名,概要和描述,其中項目名開頭要小寫,還不能有空格和其他符号。然後就是選擇版本管理系統,證書等等,這些我也不懂,随便選吧,反正這有選好了,【Create Project】才可用。這裡要注意的是項目名字可能沖突。如果建立成功就可以進入項目管理界面

google code

三 項目管理

項目管理中,上方的菜單【Project Home】可以看到項目的概述和描述。點選【Source】就可以進行源碼的管理。其中有2個位址,一個是Https開頭的,一個是http的,https開頭的是帶加密的,是以如果要commit新的代碼的時候就需要使用這個位址。而如果僅僅是取得代碼可以隻使用http開頭的位址。

使用https的位址的時候需要提供使用者名和密碼,這裡的使用者名是Gmail的使用者名,而密碼是Google給每個項目生成的,而非是Gmail的密碼。點選【When prompted, enter your generated googlecode.com password 】後面的藍色連接配接可以看到密碼。這個密碼是你所有項目的密碼,而不是每個項目一個密碼。

google code

四 使用者管理

項目建立好以後就可以把其他人加入到項目中,這樣就可以共同開發了。首先點選上方的【Administer】,然後點【Project members】,在下面填入要加入的使用者Gmail就可以了。有Project owners,Project committers,Project contributors。具體解釋右側都有。點選儲存後,其他使用者登入後,在右上方的【My Favorite】下就可以看到自己加入的項目了。然後按三中介紹的方法找到密碼。

五 其他管理

Google Code還提供了wiki等功能,我沒用上,是以不是太了解。

六 安裝用戶端和VS插件

上面的工作做好後就是上傳源碼和文檔。但是我找了半天也不知道怎麼上傳。以為是直接網頁上上傳,原來也要安裝SVN用戶端。在這裡

安裝完用戶端後需要重新開機電腦,然後就可以遠端連接配接到SVN伺服器了。其中URL就填寫Google 提供的哪個https的URL位址,然後填寫使用者名(Gmail)和密碼(項目密碼),儲存後就OK了。用戶端可以支援連接配接多個URL,每次啟動的時候可以選擇要連接配接到那一個。

如果隻安裝AnkhSvn而不安裝TortoiseSVN也是可以的,不過你在VS中會發現,操作的功能少了很多,比如分支,合并等等。

七 使用VS進行開發和源碼管理

進入到VS中,打開【工具】--【選項】--【Source Control】,預設應該是已經配置好了為AnkhSvn。然後可以點選【檔案】-【Subvwrsion】打開伺服器上的源碼。和其他工具一樣,要選擇一個本地路徑來儲存。

1:檔案狀态介紹

藍色小勾:Check out狀态;橙色小勾:檔案被修改狀态;橙色小方塊:檔案修改被儲存;加号:新添加檔案。

2:SNV版本控制

和VSS不同的時,VSS預設是鎖住的狀态,需要手動Check Out,而SVN是自動Check Out。那麼這樣不是會有沖突嗎,其實這個和VSS允許多人牽出是一樣的。在你Commit的時候,會檢查版本,會自動合并或提示沖突或是版本過期等等。

擷取最新代碼:這個不用說了就是從伺服器上拿最新代碼,但是如果你修改了檔案,然後拉最新代碼,這個時候系統會自動吧你修改的不部分和最新代碼進行合并,如果有沖突會提示,要修修改沖突。

擷取指定版本代碼:這個可以通過檢視曆史,或者指定版本号來拉去指定版本的代碼。這是同樣會合并代碼。需要注意的是,SVN的版本号和VSS不同,是全局版本号,而不是每個檔案有一個版本号。這個要特别注意,因為你會發現一個檔案版本号可能是跳躍的。

Switch:有這樣一個功能,可以把目前版本切換為制定的版本,和擷取指定版本不同,他也會自動合并不同的地方。

Revert:恢複功能,恢複到修改前的狀态。這個要注意的是,如果你對檔案修改,然後擷取了最新代碼,然後恢複,這個時候是恢複到最新版本,而不是修改前的那個版本。這點要注意

版本沖突:這裡版本沖突有2種情況,

如果你目前版本為1,伺服器版本為2,你修改或送出,伺服器會提示你本地版本過期了,你可以拉最新代碼,并解決沖突後再次送出;

如果你目前版本為2,伺服器版本為2,而你從伺服器擷取版本1的代碼,修改後,然後送出,這個時候是不會提示版本過期的,會覆寫掉伺服器上的版本2,而成為版本3。這樣是會沖掉代碼的。

鎖:SVN提供了鎖的功能,就和VSS的單使用者Check out是一樣的,不能同時修改。但是目前Google Svn不提供鎖的功能,是以沒有辦法使用了。

八 SVN資料

以前沒有使用過SVN的源碼管理,是以有些地方感覺不一樣。關于SVN的版本控制的方法和SVN介紹可以參考一下網站

<a href="http://www.subversion.org.cn/svnbook/1.4/svn.basic.vsn-models.html">http://www.subversion.org.cn/svnbook/1.4/svn.basic.vsn-models.html</a>

繼續閱讀