SVN以及相關配置

Myeclipse中安裝svn過程中重要的數據


點擊add彈出對話框在輸入框中輸入對應內容
http://subclipse.tigris.org/update_1.10.x
點擊OK之後,會節目會刷新出兩個選項,需要選中的


svn的相關操作簡介


  1. export 和check out

export 下載源代碼

用法:

1、新建一個空的文件夾,右鍵點擊它,可以看到TortoiseSVN菜單以及上面的SVN Checkout。

2、不用管這個Checkout,我們選擇TortoiseSVN菜單下的Export…,接着它會讓你輸入url。

3、比如輸入【迷宮探寶】的SVN地址是:http://game-rts-framework.googlecode.com/svn/trunk/

4、其他選項不需要更改,Omit externals不要勾選,HEAD Revision選中表示最新的代碼版本,接着點擊OK即可將代碼導出到這個目錄中:)

check out 意思簽出,雖然和Export的效果一樣是把代碼從服務器下載到本地,但是Checkout有驗證的功能,Checkout到某處的代碼,將會被TortoiseSVN監視,裏面的文件可以享受各種SVN的服務。

2 .每次提交代碼需要注意哪些問題

如果你更新了目錄中的文件,提交代碼需要用到commit功能,commit的功能不僅僅是上傳,他會和服務器上面的文件進行對比,假如你更新了某個文件而服務器上面也有人更新了這個文件,並且是在你checkout之後做的更新,那麼它會嘗試將你的更新和他人的更新進行融合(merge),假如自動merge不成功,那麼報告conflict,你必須自己來手動merge,也就是把你的更新和別人的更新無衝突的寫在一起。

commit的時候,最好填寫Log信息,這樣保證別人可以看到你的更新究竟做了寫什麼。這就相當於上傳文件並且說明自己做了那些修改,多人合作的時候log非常重要。

TortoiseSVN的commit只會上傳原先checkout然後又被修改了的文件,假如你新加入了某些文件,需要右鍵點擊文件選擇Add,然後文件上面會出現一個加號,在下次commit的時候它就會被upload並且被標記爲綠色對勾。沒有綠色對勾的文件不會被commit。

假如你需要給帶有綠色對勾文件改名或者移動它的位置,請不要使用windows的功能,右鍵點擊它們,TortoiseSVN都有相應的操作。想象這些文件已經不在是你本地的東西,你的一舉一動都必須讓Tortoise知道。

假如修改了某個文件但是你後悔了,可以右鍵點擊它選擇Revert,它將變回上次checkout時候的情況。或者Revert整個工程到任意一個從前的版本.

下面描述在使用Commit時的幾個注意點:

————-如有多個文件需要同時提交,同時文件在不同的目錄下,必須找到這些文件的最短目錄上點擊Commit,TortoiseSVN會搜索被點擊目錄以及該目錄下所有的文件,並將修改變動的文件羅列在列表中。

————-仔細查看列表中的文件,確定哪些文件時需要更新的,如果不需要更新某個已經變化了的文件,只需要在該文件上點擊右鍵,選擇還原操作;選擇需要新增的文件,不要將臨時文件添加到版本庫中。

————-如遇到文件衝突(衝突:要提交的文件已被其他人改動並提交到版本庫中)要啓用解決衝突功能。

  1. 如何保持本地版本和服務器版本同步

使用update來同步本地和服務器上的代碼。同樣是右鍵選擇SVN update,所有的更改就會從服務器端傳到你的硬盤。注意,假如別人刪除了某個文件,那麼更新之後你在本地的也會被刪除。

如果本地的代碼已經被修改,和commit一樣會先進行merge,不成功的話就會報告conflict

4 如何在同一個在一個工程的各個分支或者主幹之間切換

使用tortoise SVN–>switch

在URL中輸入branch或trunk的url地址

5.如何比較兩個版本之間的差別

本地更改

如果你想看到你的本地副本有哪些更加,只用在資源管理器中右鍵菜單下選TortoiseSVN→ 比較差異。

與另外一個分支/標籤之間的差異

如果你想查看主幹程序(假如你在分支上開發)有哪些修改或者是某一分支(假如你在主幹上開發)有哪些修改,你可以使用右鍵菜單。在你點擊文件的同時按住Shift鍵,然後選擇TortoiseSVN→ URL比較。在彈出的對話框中,將特別顯示將與你本地版本做比較的版本的URL地址。

你還可以使用版本庫瀏覽器,選擇兩個目錄樹比較,也許是兩個標記,或者是分支/標記和最新版本。郵件菜單允許你使用比較版本來比較它們。閱讀第 5.9.2 節 “比較文件夾”以便獲得更多信息。

與歷史版本的比較差異

如果你想查看某一特定版本與本地拷貝之間的差異,使用顯示日誌對話框,選擇要比較的版本,然後選擇在右鍵菜單中選與本地拷貝比較差異

兩個歷史版本的比較

如果你要查看任意已提交的兩個歷史版本之間的差異,在版本日誌對話框中選擇你要比較的兩個版本(一般使用 Ctrl-更改),然後在右鍵菜單中選比較版本差異

如果你在文件夾的版本日誌中這樣做,就會出現一個比較版本對話框,顯示此文件夾的文件修改列表。閱讀第 5.9.2 節 “比較文件夾”以便獲得更多信息。

提交所有修改

如果你要在一個視窗中查看某一版本的所有更改,你可以使用統一顯示所有比較 (GNU 片段整理)。它將顯示所有修改中的部分內容。它很難顯示一個全面清晰的比較,但是會將所有更改都集中顯示出來。在版本日誌對話框中選擇某一版本,然後在右鍵菜單中選擇統一顯示所有比較。

文件差異

如果你要查看兩個不同文件之間的差異,你可以直接在資源管理器中選擇這兩個文件(一般使用 Ctrl-modifier),然後右鍵菜單中選TortoiseSVN→ 比較差異。

WC文件/文件夾與URL之間的比較差異

如果你要查看你本地拷貝中的任一文件與版本庫中任一文件之間差異,

譴責信息之間的比較差異

如果你要查看的不僅是比較差異而且包括修改該版本的作者,版本號和日期,你可以在版本日誌對話框中綜合比較差異和譴責信息。這裏有更多詳細介紹第 5.20.2 節 “追溯不同點”。

比較文件夾差異

TortoiseSVN 自帶的內置工具不支持查看多級目錄之間的差異,但你可以使用支持該功能的外置工具來替代。在這裏 第 5.9.4 節 “其他的比較/合併工具”我們可以介紹一些我們使用過的工具。

6.提交代碼時怎樣知道自己改了哪些文件,別人改了哪些文件

  1. 如何知道某個文件的某一行是誰在哪個版本修改的

  2. 如何爲一個SVN主工程建立分支或tag

創建分支使用步驟:

1、選擇你要產生分支的文件,點擊鼠標右鍵,選擇[分支/標記…]

2、在[至URL(T)]輸入框中將文件重命名爲你的分支文件名,輸入便於區分的日誌信息,點擊確認。

3、在SVN倉庫中會複製一個你所指定的文件,文件名稱就是你所命名的,但是在你的本地目錄上看不到新建的分支文件名,要使你的文件更新作用到你的分支上,你必須選擇文件,點擊鼠標右鍵,選擇[切換…],選擇你重命名的文件,點擊確定即可。這樣你的本地文件就和分支文件關聯上了,不要奇怪,這時本地目錄上看到的文件名仍然爲舊的文件名。

經驗小結:

1、如果操作的文件之前還未提交,而你又想把文件提交到新的分支上,記得一定要選擇切換

2、SVN分支的管理實際上就是把不同的分支用不同的文件保存,因此你在取得新版本的時候會發現,不同分支的最新文件也會被獲取下來。

創建tag操作,相當於把當前的代碼版本複製一份到其他地方,然後以這個地方爲出發點進行新的開發,與原來位置的版本互不干擾。

對於branches、tags、trunk這三個目錄,並不是subversion必需的,而是被總結的一種良好的團隊開發習慣,其使用方法爲:

1、開發者提交所有的新特性到主幹。 每日的修改提交到/trunk:新特性,bug修正和其他。

2、這個主幹被拷貝到“發佈”分支。 當小組認爲軟件已經做好發佈的準備(如,版本1.0)然後/trunk會被拷貝到/branches/1.0。

3、項目組繼續並行工作,一個小組開始對分支進行嚴酷的測試,同時另一個小組在/trunk繼續新的工作(如,準備2.0),如果一個bug在任何一個位置被發現,錯誤修正需要來回運送。然而這個過程有時候也會結束,例如分支已經爲發佈前的最終測試“停滯”了。

4、分支已經作了標籤並且發佈,當測試結束,/branches/1.0作爲引用快照已經拷貝到/tags/1.0.0,這個標籤被打包發佈給客戶。

5、分支多次維護。當繼續在/trunk上爲版本2.0工作,bug修正繼續從/trunk運送到/branches/1.0,如果積累了足夠的bug修正,管理部門決定發佈1.0.1版本:拷貝/branches/1.0到/tags/1.0.1,標籤被打包發佈。

一般建立最初的repository時,就建好這三個目錄,把所有代碼放入/trunk中,如:要將project1目錄下的代碼導入repository,project1的結構就是:project1/branches,project1/tags,project1/trunk,project1/trunk/food.c,project1/trunk/egg.pc……,然後將project1目錄導入repository,建立最初的資料庫。然後export回project1,作爲本地工作目錄。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章