@
IntelliJ-svn配置與使用
SVN的配置
- 如上圖標注 1 所示,勾選 Use command line client
- 如上圖標注 2 所示,建議 svn 的路徑自己根據安裝后的路徑進行選擇,不然有時候 IntelliJ IDEA 無法
識別到會報: Cannot run program "svn" 這類錯誤。 - 如上圖標注 3 所示,當使用一段時間 SVN 以后,發現各種 SVN 相關問題無法解決,可以考慮點擊此按鈕
進行清除一下緩存。
版本控制主要操作按鈕
如上圖標注 1 所示,對目錄進行右鍵彈出的菜單選
如上圖標注 1 所示,對文件進行右鍵彈出的菜單選項。
如上圖所示,為工具欄上版本控制操作按鈕,基本上都是使用這里進行操作。
- 第一個按鈕: Update Project 更新項目。
- 第二個按鈕: Commit changes 提交項目上所有變化文件。點擊這個按鈕不會立馬提交所有文件,而是先
彈出一個被修改文件的一個匯總框,具體操作下面會有圖片進行專門介紹。 - 第三個按鈕: Show history 顯示當前文件的歷史記錄。
- 第四個按鈕: Revert 還原當前被修改的文件到違背修改的版本狀態下。如果當前編輯的文件沒有修
改,則是灰色不可點擊。
版本控制相關的常用設置
- 如上圖標注 1 所示,當前項目使用的版本控制是 Subversion 。如果你不願意這個項目繼續使用版本控制可以點
擊旁邊的減號按鈕,如果你要切換版本控制,可以點擊 Subversion ,會出現 IntelliJ IDEA 支持的各種版本控
制選擇列表,但是我們一般情況下一個項目不會有多個版本控制的。 - 如上圖標注 2 所示, Show directories with changed descendants 表示子目錄有文件被修改了,則該文件
的所有上層目錄都顯示版本控制被概念的顏色。默認是不勾選的,一般建議勾選此功能。
- 如上圖標注 1 所示, When files are created 表示當有新文件放進項目中的時候 IntelliJ IDEA 做如何
處理,默認是 Show options before adding to version control 表示彈出提示選項,讓開發者決定這些新
文件是加入到版本控制中還是不加入。如果不想彈出提示,則選擇下面兩個選項進行默認操作。 - 如上圖標注 2 所示, When files are deleted 表示當有新文件在項目中被刪除的時候 IntelliJ IDEA 做
如何處理,默認是 Show options before removing from version control 表示彈出提示選項,讓開發者決
定這些被刪除的是否從版本控制中刪除。如果不想彈出提示,則選擇下面兩個選項進行默認操作。
- 如上圖標注 1 所示,對於不想加入到版本控制的文件,可以添加要此忽略的列表中。但是如果已經加入到
版本控制的文件使用此功能,則表示該文件 或 目錄無法再使用版本控制相關的操作,比如提交、更新
等。
上圖所示的彈出層就是本文上面說的 Commit Changes 點擊后彈出的變動文件匯總彈出層。
-
如上圖標注 1 所示,可以在文件上右鍵進行操作。
-
Show Diff 當前文件與服務器上該文件通版本的內容進行比較。
-
Move to Another Changelist 將選中的文件轉移到其他的 Change list 中。 Change list 是一個重要
的概念,這里需要進行重點說明。很多時候,開發一個項目同時並發的任務可能有很多,每個任務涉
及到的文件可能都是基於業務來講的。所以就會存在一個這樣的情況:改了 30 個文件,其中 15 個文
件是屬於訂單問題,剩下 15 個是會員問題,那希望提交代碼的時候是根據業務區分這些文件的,這樣
填寫 Commit Message 是好描述的,同時在文件多的情況下,也好區分這些要提交的文件業務模
塊。所以一般會把屬於訂單的 15 個文件轉移到其他的 Change list 中,先把專注點集中在 15 個會
員問題的文件,先提交會員問題的 Change list ,然后在提交訂單會員的 Change list 。還有一
種用法是把一些文件暫時不提交的文件轉移到一個指定的 Change list ,等后面覺得有必要提交
了,再做提交操作,這樣這些文件就不會干擾當前修改的文件提交。總結下 Change list 的功能就是
為了更好地管理版本控制文件,讓專注點得到更好的集中,從而提供效率。 -
Jump to Source 打開並跳轉到被選中。
-
如上圖標注 2 所示,可以根據工具欄按鈕進行操作,操作的對象會鼠標選中的文件,多選可以按 Ctrl
后不放,需要注意的是這個更前面的復選框是沒有多大關系的。 -
如上圖標注 3 所示,可以在提交前自動對被提交的文件進行一些操作事件。
-
Reformat code 格式化代碼,如果是 Web 開發建議不要勾選,因為格式化 JSP 類文件,格式化效果不
好。如果都是 Java 類則可以安心格式化。 -
Rearrange code 重新編排代碼,IntelliJ IDEA 支持各種復雜的編排設置選項。設置
好了編碼功能之后,這里就可以嘗試勾選這個進行自動編排。 -
Optimize imports 優化導入包,會在自動去掉沒有使用的包。這個建議都勾選,這個只對 Java 類有作
用,所以不用擔心有副作用。 -
Perform code analysis 進行代碼分析,這個建議不用在提交的時候處理,而是在開發完之后,要專門養
成對代碼進行分析的習慣。IntelliJ IDEA 集成了代碼分析功能。 -
Check TODO 檢查代碼中的 TODO 。 這是一個記錄待辦事項的功能。
-
Cleanup 清除下版本控制系統,去掉一些版本控制系統的錯誤信息,建議勾選。
-
如上圖標注 4 所示,填寫提交的信息。
-
如上圖標注 5 所示, Change list 改變列表,這是一個下拉選項,說明我們可以切換不同的 Change li
st ,提交不同的 Change list 文件。 -
如上圖標注箭頭所示,我們可以查看我們提交歷史中使用的 Commit Message ,有些時候,我們做得是同
一個任務,但是需要提交多次,為了更好管理項目,建議是提交的 Message 是保持一致的。
Version Control窗口
- 上圖 Local Changes 這個 Tab 表示當前項目的 SVN 中各個文件的總的情況預覽。這里的 Default 是 Intell
iJ IDEA 的默認 change list 名稱。unversioned Files 表示項目中未加到版本控制系統中的文件,你可以點擊 Click to browse ,會彈出
一個彈出框列表顯示這些未被加入的文件。
- 上圖 Repository 這個 Tab 表示項目的 SVN 信息匯總,內容非常的詳細,也是平時用最多的地方。如果點
擊這個 Tab 沒看到數據,是因為你需要點擊上圖紅圈這個刷新按鈕。習慣根據 User 進行過濾篩選,所以上圖箭頭中的 Filter 是選擇 User。
選擇之后,如上圖標注 1 所示,顯示了這個項目中參與提交的各個用戶名,選擇一個用戶之后,
上圖標注 2 所以會顯示出該用戶提交了哪些記錄。選擇標注 2 區域中的某個提交記錄后,
標注 3 顯示對應的具體提交細節,我們可以對這些文件進行右鍵操作。