Netbeans配置SubVersion

超簡單!爲 NetBeans 配置 SubVersion


話說本人以前除了 Visual Studio 以外,一個 IDE 也沒接觸過……作 WP 開發時都是用 UltraEdit 等易上手白癡都會的輕量級編輯器的~程序員

應該有很多程序員或者愛好者熟識 NetBeans 這款 Oracle 旗下的開源 IDE 吧,我也抱着嚐鮮的態度試用了下,首先嚇到個人是它超大的內存佔用,還有拖沓的速度(原來習慣把程序作的卡卡的公司不止微軟一家啊),但代碼自動完成、錯誤提示、代碼重構功能很不錯(惋惜重構在 WordPress 下不太好用),最吸引個人是它與版本控制結合的很好,默認就提供了對 CVS、Mercurial、SubVersion 的支持。服務器

以前常常看見有些童鞋使用版本控制幫助本身碼代碼,這可比之前我想起來就 WinRAR 打包一份強多了(再用一次括號宣傳下,用盜版軟件是不對滴,推薦各位使用免費又強大的 7zip,善用佳軟的介紹請按此),由於版本控制能夠看到每一個版本間的細微更改,回溯任意文件,對團隊開發來講意義更大,成員們能夠放心的編寫代碼而沒必要過於擔憂同步、合併、衝突的事情。編輯器

還看過有童鞋使用 Dropbox 進行版本控制,排除 Dropbox 就根本不存在的緣由外,咱們的校園網十二點後但是要斷網的,這段時間怎麼提交更新呢?因此我決定使用易用的 SubVersion。svn

1、建立版本庫與 NetBeans 設定

先在這裏並安裝找到適合操做系統的 SubVersion,全名是 CollabNet Subversion Edge,我竟然點到了 Command-Line Client 上,折騰了半個多小時也找不到創建版本庫的功能 :cry: 。函數

前面說過,NetBeans 與版本控制配合得很好,因此只要安裝 SubVersion 就能夠啦,至於烏龜神馬的徹底不須要 :oops: 。工具

SubVersion 自帶了 Apache,因此咱們能夠經過它創建的捷徑訪問後臺(固然是 localhost 上咯,端口不知道是否是都同樣),初始用戶名與密碼都是 admin,幸虧後臺是中文的。oop

Collabnet Subversion Edge

首先要作的,是配置好 SubVersion 的版本庫父文件夾。按個人理解,建立一個版本庫能夠看做是添加一個新項目,SubVersion 的多數操做都是針對版本庫進行的。spa

選擇「管理」 – 「服務器配置」,在「版本庫父文件夾」鍵入你要放置版本庫的文件夾,這個文件夾並非你開發時使用的文件夾,而是記錄一個版本庫的配置、修訂版本和鎖定狀態的資料庫,版本庫與項目文件夾就比如是檔案館與你的家的關係。操作系統

Collabnet Subversion Edit

下一步是建立新版本庫。選擇「版本庫」 – 「新版本庫」,鍵入版本庫的名字,單擊「建立」。「建立標準的主幹 / 分支 / 標籤結構」根據你我的喜愛勾選,不過仍是推薦建立啦,這樣版本會更加有序。.net

Create Subversion Library

建立版本庫後,你就能夠在剛纔設置的版本庫父文件夾中找到你的版本庫咯。

View Subversion Folder

之後就不要隨意修改此文件夾中的內容了,以避免形成不可挽回的損失唷!

從如今開始就能夠在 NetBeans 中設定 SubVersion 了。

打開 NetBeans,選擇「工具」 – 「選項」 – 「其餘」,在左邊選擇「Subversion」,鍵入 SVN 可執行文件的路徑(例如,C:\Program Files\csvn\bin),單擊「肯定」保存。

2、導入版本庫

下面咱們就要在 NetBeans 中把資料導入版本庫裏啦!假設咱們要進行版本控制的項目的目錄位於 D:\test\,按以下步驟進行:

  1. 選擇要進行版本控制的項目;
  2. 選擇「團隊開發」 – 「Subversion」 – 「導入到資源庫中…」,打開導入窗口;
  3. 輸入資源庫 URL,直接從 SubVersion 後臺的版本庫列表「檢出命令」複製就可,例如
    http://RayChow-PC:81/svn/test
    再鍵入用戶名與密碼,單擊「下一步」;
    Import
  4. NetBeans 會嘗試鏈接 SubVersion 庫,以後選擇導入到 trunk 資源庫,並鍵入指定消息。之後每次提交都輸入消息是一個好習慣,這樣你就知道每次更新了什麼;
    Import
  5. 最後一步 NetBeans 詢問你須要導入到文件,能夠看見他把本身建立的文件都列出來了。通常都要所有導入啦;
  6. 單擊「完成」,能夠看見項目列表中被導入的文件變爲綠色,導入成功後再次恢復黑色。

訪問剛纔輸入的資源庫 URL 能夠看見匯入的項目,這些目錄和文件已被記錄在案,任什麼時候候你都能調出查看,哪怕他們在項目中已被修改或刪除。

View Repository

至此,版本庫準備完畢。

3、簽出工做拷貝

什麼叫作簽出工做拷貝呢?按個人理解,簽出就是把版本庫中項目的最新版本完整的下載到本地,並與版本庫創建聯繫,這樣才能完成「提交」工做。

因爲第二點中導入操做已經使項目文件夾與版本庫創建了聯繫,所以第二點操做完成後不須要再進行簽出。

在你更換項目文件夾、有其餘人或其它電腦加入到你的項目中時,就須要簽出來得到最新版本了。

NetBeans 進行簽出工做也很簡單,按以下步驟進行:

  1. 選擇要簽出到的項目;
  2. 選擇「團隊開發」 – 「Subversion」 – 「簽出…」,打開簽出窗口;
  3. 輸入資源庫 URL、用戶名、密碼,與第二點中相同;
  4. 「要簽出的文件夾」這一步,資源庫文件夾選擇你須要簽出的文件夾,例如 trunk;
    資源庫修訂通常留空,表示獲取最新版本;
    因爲剛纔選定了 trunk 文件夾,因此勾選 跳過「trunk」且僅簽出其內容,能夠看見「工做副本」發生變化;
  5. 單擊「完成」,進行簽出。

4、顏色

一旦項目中的文件做出修改,項目窗口中的文件名會根據如下規則改變樣式:

  • 綠色:新加入的文件;
  • 藍色:被修改的文件;
  • 紅色:有衝突的文件;
  • 灰色:被忽略的文件;
  • 刪除線:提交時被排除的文件。

5、提交

提交是將本地項目作出的修改應用到版本庫的過程。

按以下步驟進行:

  1. 選擇要提交的項目或文件;
  2. 選擇「團隊開發」 – 「提交…」,打開提交窗口;
    Commit
  3. 輸入提交消息,下方的列表中能夠排除或比較文件(經過右鍵);
  4. 單擊「提交」完成操做。

6、更新

更新是檢查版本庫的文件自上次同步後有無改變的過程。按個人理解,更新會下載版本庫中新建的文件、替換上次同步後本地未做出修改而版本庫版本更新的文件、刪除上次同步後本地仍存在而版本庫中已被刪除的文件,並標示有衝突的文件。

若是是團隊開發,應該常常檢查更新;若是是我的開發,更新一萬次也沒有做用……

7、衝突

衝突是指上次同步後本地對某文件做出修改,提交時版本庫中的版本比本地更新而致使衝突的狀況。例如,我在 A 文件添加了函數 B,但提交時發現同事 C 已經在 A 文件修改了 類 D 並做出了提交,此時 A 文件已經不能繼續提交了,不然會覆蓋同事 C 的修改。

在更新後若是發現衝突,NetBeans 會列出衝突的地方,在右下方的版本輸出控制窗口中右擊文件選擇「解決衝突」能夠更直觀的對比並解決衝突,或者……乾脆直接放棄你的修改。

Conflict

8、顯示更改 與 比較

這兩個功能在我看來沒有太大區別,都是用來查閱上次更新後本地作出的修改的,惟一的不一樣是:「顯示更改」只會列出被修改的文件,雙擊文件能夠查看詳細對比,而「比較」則直接顯示列表與詳細對比。

Status

9、還原修改

假定在比較以後你發現對某個文件的全部修改都是錯誤的,或許根本不該該修改這個文件,或者是從開頭從新修改會更加容易,就是使用「還原修改」的時候了。

Revert

  • 還本來地修改:將文件還原到未修改的狀態,從文件所在文件夾的 .svn 目錄中直接複製,不通過服務器;
  • 根據單個提交還原修改:從版本庫中得到指定的版本,若是有衝突還須要解決;
  • 根據早期的提交還原更改:我還不清楚……彷佛會把起始與結束的版本都拉回來,再丟給你解決衝突。

10、基本的工做週期

平常使用時,通常按照如下步驟進行版本控制:

  1. 檢出或更新你的工做拷貝;
  2. 做出修改。請注意,對於工做拷貝的目錄操做(如增長、刪除、移動、複製)最好在 NetBeans 中進行,或者經過 svn 命令直接操做,若是直接使用不相關的文件管理工具操做,可能會致使錯誤;
  3. 檢查更改(即第六點);
  4. 若是有必要,還原修改;
  5. 若是存在衝突,則解決;
  6. 提交更改。

以上操做都可以使用 NetBeans 方便的完成。

相關文章
相關標籤/搜索