SVN入門教程使用手冊
本節(jié)講解的是SVN使用教程之入門篇,SVN的版本是TortoiseSVN,關(guān)于TortoiseSVN你還可以嘗試從如下地址下載:
這里下載TortoiseSVN的源碼:http://tortoisesvn.tigris.org/svn/tortoisesvn/
這里可能需要登錄,用戶名是guest,密碼留空即可。
Checkout...
SVN使用教程介紹,Checkout的意思是簽出,雖然和Export的效果一樣是把代碼從服務(wù)器下載到本地,但是Checkout有驗證的功能,Checkout到某處的代碼,將會被TortoiseSVN監(jiān)視,里面的文件可以享受各種SVN的服務(wù)。選擇那個Checkout的話,就表示這個目錄將與這個SVN地址關(guān)聯(lián),這里的修改可以提交到SVN服務(wù)器。由于這表示將參與代碼的編寫,往往需要開通權(quán)限才可以。
可以到http://code.google.com/hosting/,選擇createnewproject,獲得一個由google提供的SVN空間,上傳你的代碼。我就不在這里詳細講申請過程了,填一個簡單的表格就可以。
現(xiàn)在,我假設(shè)你已經(jīng)得到某個SVN的賬戶和密碼,譬如我們的RTG項目:
https://game-rts-framework.googlecode.com/svn/trunk/
注意前面是https://,多了一個s表示security,意思需要校驗。
假設(shè)用戶名是guest,密碼是abc(這個用戶名和密碼可以由項目管理者分配給你)
1、在某目錄上右鍵單擊SVNCheckout...出現(xiàn)鏈接輸入。填入上放的url,其他選項依舊不要更改,和Export類似。
2、在要求輸入用戶名和密碼的時候填寫正確的內(nèi)容,接著會出現(xiàn)代碼下載畫面。
3、全部文件checkout之后,目錄上會有一個綠色的勾,表示代碼在最近一次update只好未被修改。
這時,目錄中的文件都會有綠色的勾,如果你修改了他們,就會出現(xiàn)紅色的驚嘆號表示這個文件已經(jīng)被修改。這個目錄中所有帶勾的文件目前都在Tortoise的監(jiān)視之下了,可以嘗試右鍵單擊文件,你會發(fā)現(xiàn)可以執(zhí)行很多操作。接下來我會挑選一些比較常用的來講解。
Commit,Revert,Add,Delete...
SVN使用教程介紹,假如你更新了目錄中的文件,那么就可以用到commit功能。這個功能就是將你本地的文件修改記錄上傳到服務(wù)器上面,可以理解為上傳。
但是commit的功能不僅僅是上傳,他會和服務(wù)器上面的文件進行對比,假如你更新了某個文件而服務(wù)器上面也有人更新了這個文件,并且是在你checkout之后做的更新,那么它會嘗試將你的更新和他人的更新進行融合(merge),假如自動merge不成功,那么報告conflict,你必須自己來手動merge,也就是把你的更新和別人的更新無沖突的寫在一起。
commit的時候,***填寫Log信息,這樣保證別人可以看到你的更新究竟做了寫什么。這就相當于上傳文件并且說明自己做了那些修改,多人合作的時候log非常重要。
TortoiseSVN的commit只會上傳原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右鍵點擊文件選擇Add,然后文件上面會出現(xiàn)一個加號,在下次commit的時候它就會被upload并且被標記為綠色對勾。沒有綠色對勾的文件不會被commit。
假如你需要給帶有綠色對勾文件改名或者移動它的位置,請不要使用windows的功能,右鍵點擊它們,TortoiseSVN都有相應(yīng)的操作。想象這些文件已經(jīng)不在是你本地的東西,你的一舉一動都必須讓Tortoise知道。
假如修改了某個文件但是你后悔了,可以右鍵點擊它選擇Revert,它將變回上次checkout時候的情況?;蛘逺evert整個工程到任意一個從前的版本。
Update
SVN使用教程介紹,假如是多人合作的項目,自己不做修改的話別人也要修改,這時候就需要使用update來同步本地和服務(wù)器上的代碼。同樣是右鍵選擇update,所有的更改就會從服務(wù)器端傳到你的硬盤。注意,假如別人刪除了某個文件,那么更新之后你在本地的也會被刪除。
如果本地的代碼已經(jīng)被修改,和commit一樣會先進行merge,不成功的話就會報告conflict。
其他……假如有的文件不想讓別人修改,還可以進行Lock操作。
還有用于查看所有l(wèi)og的showlog菜單,現(xiàn)實版本更新圖示的Revisiongraph,查看服務(wù)器端目錄結(jié)構(gòu)的Repo-browser。
另外還有創(chuàng)建tag操作,相當于把當前的代碼版本復制一份到其他地方,然后以這個地方為出發(fā)點進行新的開發(fā),與原來位置的版本互不干擾。
這些屬于比較高級的應(yīng)用,詳細的請自己查看幫助文檔http://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/吧。
【編輯推薦】