TortoiseSVN简明教程
你是否正在參與團隊合作項目?
你是否遇到過這樣的情況:當你正在修改一個文件,卻出現另一個人作了同樣的事情。你是否曾因為這種巧合而導致了你的修改付之東流?
你是否曾經在文件保存之后,又想恢復到文件保存之前?你是否想過要去查看一個文件幾天前的內容?
當你發現一個項目中的bug,你是否想知道它是何時出現在你的代碼中?
如果你對上面任何一個問題回答“Yes”,那么TortoiseSVN就是你所需要的!你得仔細閱讀TortoiseSVN的說明,學會如何解決上面的問題。這并不難~
這份說明是寫給那些希望使用Subversion去管理他們的資料,卻又不習慣于命令行的操作的人。因為TortoiseSVN就像是一個windows的擴展外殼,用戶可以像使用“我的電腦”那樣使用這個軟件。
TortoiseSVN是自由軟件,你不需要花錢就可以使用它,并且可以隨意使用。它的開發遵循GPL協議。
以上是從TortoiseSVN的幫助文檔摘錄出來的。簡單的說,TortoiseSVN可以看作一個代碼版本控制工具,方便多人合作編寫代碼。現在有不少開源的作品是使用SVN作為源碼管理工具的,學會了TortoiseSVN就可以很方便的拿到這些代碼。
TortoiseSVN功能豐富,但是我們只需要學會2個簡單的操作即可,第一就是下載代碼,第二是上傳。下面針對各個功能作出說明。
Export...
因為開源的項目大都是可以直接下載的,而上傳可能還需要開通某些權限,所以先說代碼的下載。
1、下載TortoiseSVN的安裝版本并安裝。你不會看到任何可執行的程序,因為TortoiseSVN是嵌在windows里面的。
2、新建一個空的文件夾,右鍵點擊它,可以看到TortoiseSVN菜單以及上面的SVN Checkout。
3、不用管這個Checkout,我們選擇TortoiseSVN菜單下的Export...,接著它會讓你輸入url。
4、比如輸入【迷宮探寶】的SVN地址是:http://game-rts-framework.googlecode.com/svn/trunk/
5、其他選項不需要更改,Omit externals不要勾選,HEAD Revision選中表示最新的代碼版本,接著點擊OK即可將代碼導出到這個目錄中:)
就像解壓縮一樣,不是么?你還可以嘗試從這里下載TortoiseSVN的源碼:
http://tortoisesvn.tigris.org/svn/tortoisesvn/
這里可能需要登錄,用戶名是guest,密碼留空即可。
Checkout...
Checkout的意思簽出,雖然和Export的效果一樣是把代碼從服務器下載到本地,但是Checkout有驗證的功能,Checkout到某處的代碼,將會被TortoiseSVN監視,里面的文件可以享受各種SVN的服務。
選擇那個Checkout的話,就表示這個目錄將與這個SVN地址關聯,這里的修改可以提交到SVN服務器。由于這表示將參與代碼的編寫,往往需要開通權限才可以。
可以到http://code.google.com/hosting/,選擇create new project,獲得一個由google提供的SVN空間,上傳你的代碼。我就不在這里詳細講申請過程了,填一個簡單的表格就可以。
現在,我假設你已經得到某個SVN的賬戶和密碼,譬如我們的RTG項目:
https://game-rts-framework.googlecode.com/svn/trunk/
注意前面是https://,多了一個s表示security,意思需要校驗。
假設用戶名是guest,密碼是abc(這個用戶名和密碼可以由項目管理者分配給你)
1、在某目錄上右鍵單擊SVN Checkout...出現鏈接輸入。填入上放的url,其他選項依舊不要更改,和Export類似。
2、在要求輸入用戶名和密碼的時候填寫正確的內容,接著會出現代碼下載畫面。
3、全部文件checkout之后,目錄上會有一個綠色的勾,表示代碼在最近一次update只好未被修改。
這時,目錄中的文件都會有綠色的勾,如果你修改了他們,就會出現紅色的驚嘆號表示這個文件已經被修改。這個目錄中所有帶勾的文件目前都在Tortoise的監視之下了,可以嘗試右鍵單擊文件,你會發現可以執行很多操作。接下來我會挑選一些比較常用的來講解。
Commit,Revert,Add,Delete...
假如你更新了目錄中的文件,那么就可以用到commit功能。這個功能就是將你本地的文件修改記錄上傳到服務器上面,可以理解為上傳。
但是commit的功能不僅僅是上傳,他會和服務器上面的文件進行對比,假如你更新了某個文件而服務器上面也有人更新了這個文件,并且是在你checkout之后做的更新,那么它會嘗試將你的更新和他人的更新進行融合(merge),假如自動merge不成功,那么報告conflict,你必須自己來手動merge,也就是把你的更新和別人的更新無沖突的寫在一起。
commit的時候,最好填寫Log信息,這樣保證別人可以看到你的更新究竟做了寫什么。這就相當于上傳文件并且說明自己做了那些修改,多人合作的時候log非常重要。
TortoiseSVN的commit只會上傳原先checkout然后又被修改了的文件,假如你新加入了某些文件,需要右鍵點擊文件選擇Add,然后文件上面會出現一個加號,在下次commit的時候它就會被upload并且被標記為綠色對勾。沒有綠色對勾的文件不會被commit。
假如你需要給帶有綠色對勾文件改名或者移動它的位置,請不要使用windows的功能,右鍵點擊它們,TortoiseSVN都有相應的操作。想象這些文件已經不在是你本地的東西,你的一舉一動都必須讓Tortoise知道。
假如修改了某個文件但是你后悔了,可以右鍵點擊它選擇Revert,它將變回上次checkout時候的情況。或者Revert整個工程到任意一個從前的版本。
Update
假如是多人合作的項目,自己不做修改的話別人也要修改,這時候就需要使用update來同步本地和服務器上的代碼。同樣是右鍵選擇update,所有的更改就會從服務器端傳到你的硬盤。注意,假如別人刪除了某個文件,那么更新之后你在本地的也會被刪除。
如果本地的代碼已經被修改,和commit一樣會先進行merge,不成功的話就會報告conflict。
其他……
假如有的文件不想讓別人修改,還可以進行Lock操作。
還有用于查看所有log的show log菜單,現實版本更新圖示的Revision graph,查看服務器端目錄結構的Repo-browser。
另外還有創建tag操作,相當于把當前的代碼版本復制一份到其他地方,然后以這個地方為出發點進行新的開發,與原來位置的版本互不干擾。
這些屬于比較高級的應用,詳細的請自己查看幫助文檔吧。
TortoiseSVN的教程就寫到這里結束咯~ ?
總結
以上是生活随笔為你收集整理的TortoiseSVN简明教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: podman设置开机启动
- 下一篇: 山西财经大学计算机好考吗,听说这是中国最