IntelliJ IDEA 下的svn配置及使用的非常詳細的圖文
首先,使用的時候,自己得先在電腦上安裝個小烏龜。也就是svn啦。
第一步安裝小烏龜。
如下:
具體安裝好像沒什麼具體要求,一路next,就好。
如上圖箭頭所示,在安裝 TortoiseSVN 的時候,預設 command line client tools,是不安裝的,這裡建議勾選上。
這個我不確定我當時選沒選,不過呢,你給安裝上,也是沒問題的。
把上面的勾選取消了,就可以應對下面的這個錯誤。看圖。
安裝OK之後,確保你這個編輯器也已經啟用成功,那麼下一步開始
第二步,匯出。
從svn上check out 專案我這以maven專案為例。
第一步,就是從svn上check out,當然也可以從github上check out,當然,前提是你已經配置了github和git。這就不贅述啦。
這個就是輸入svn倉庫的地址,然後繼續ing。
選擇匯出的目的地,一般就是新建個資料夾用來存放所有的工作相關的專案。我這是測試,就隨意點啦。
這地方應該看情況,匯出的時候,最好匯出到對應的專案資料夾下。第一個選項是直接到我的那個測試目錄下,這個就不是太好。或者乾脆就是不行 的。
下面會示範,兩者的差別的。
這個版本究竟是啥意思,我暫時沒有深究過,不過一般都選預設的吧。
這個就是我說的,要是沒有直接匯出到對應的專案名稱的資料夾下的話,就會有這麼個提示,如果你走到這了,那麼最簡單的處理方法,就是放棄,重新來過就是。
正確的,也就是上面你選擇匯出到對應專案名稱的資料夾下的話,就會出現下圖。
哦,這個是匯出的時候,他在一個個檔案的往外check ,這是個過程圖。
你要是匯出OK,也就是說你匯出專案到對應的專案名稱下的話,他就會提示說,你已經匯出個專案了,你需要開啟嗎。
當然開啟啦,點yes,開啟。繼續ing。
這個就是開啟之後的,截的全圖的效果。具體註釋我都寫在截圖上了。
因為這個mavne專案,匯出之後,編輯器會自動判斷一下,他要是發現pom.xml檔案的話,他就會這麼提示你,按我圖上的操作就OK啦。
繼續吧,圖上寫的應該比較詳細啦。
這個就是剛剛匯出專案之後,這個版本控制的初始情況。雖然我後面也會說,你可以依我圖操作一下,看著乾淨舒心。
要是下面有重複講解的地方,還請見諒啊。
經過這麼操作,這就乾淨啦。繼續看圖ing。
這個就是所有提交記錄的列表的地方。
刷新出來的效果。
第三步,具體使用詳情。
上面的都是安裝過程可能會遇到的問題,下面看具體經常使用的地方。
這個工具欄,可能你剛使用這個編輯器的時候,是沒有的,可以參考下面連結,把這個工具欄給顯示出來。
下面對這五個按鈕的簡單介紹。
- 第一個按鈕:
Update Project
更新專案。 - 第二個按鈕:
Commit changes
提交專案上所有變化檔案。點選這個按鈕不會立馬提交所有檔案,而是先彈出一個被修改檔案的一個彙總框,具體操作下面會有圖片進行專門介紹。 - 第三個按鈕:
Compare with the Same Repository Version
當前檔案與伺服器上該檔案通版本的內容進行比較。如果當前編輯的檔案沒有修改,則是灰色不可點選。 - 第四個按鈕:
Show history
顯示當前檔案的歷史記錄。 - 第五個按鈕:
Revert
還原當前被修改的檔案到違背修改的版本狀態下。如果當前編輯的檔案沒有修改,則是灰色不可點選。
上面的五個按鈕,說實話,1,2是不常用的,因為在這個地方提交更新和下載更新,給你的感覺有點不清不楚的感覺。所以,在這一般不使用這2個按鈕。
最常用的就是後面的3個,
第三個按鈕就是在你把當前檔案已經修改過了,有和svn庫裡面的程式碼做對比,那麼就可以直接點選這個按鈕,然後就可以直接看檔案修改前後的差別啦。
第四個也常用,就是檢視當前檔案的提交歷史,點選之後,當前檔案的歷史修改記錄就都會呈現在眼前啦。
第五個按鈕,就是你放棄對當前檔案的修改,直接回撤到和最新庫裡一致的狀態。
下面再看看經常用的地方,怎麼提交程式碼和更新程式碼。
更新程式碼簡單,就在這個地方,
你要是看不到這個version control,也不要緊,看下面這個圖,教你怎麼把他弄出來。
這你就可以看到了吧。
本來,說更新到指定版本的程式碼是沒找到的,但是,我回去又仔細看了下,還實驗了一把,是可以的。
具體請看圖:
對勾打上,現在看到的後面的是head也就是最新的,或者,以前,我這就沒選,那預設就是更新全部嘛。現在可以點選第三個箭頭所指的地方,然後選擇你要更新到哪個版本號,然後就可以啦。剩下的就不詳細描述啦。
不過,記得用完啦之後,下次再更新的時候,記得把這個對勾,給去掉喲,不然就不好啦
更新程式碼還有個大問題就是:【可能產生程式碼衝突】。
下面我給上更新衝突的時候的截圖。
我這是演示呢,就不衝突很多個啦,就簡單的整一個衝突的地方,給簡單說明下問題就好。
這個彈框的介面都大差不差的。
一般遇到這個情況,你要是確定沒什麼可提交的,而且,你修改的原生代碼也就是自己搞搞測試,那麼,這種情況下,你就可以直接接受別人的,放棄本地修改。
要是,你一本正經的在完成你的任務,但是你的同事卻湊巧也修改了你正在修改的檔案,而且他還先你一步提交了,廢話,要不然,解決程式碼衝突的事情,就是他來幹啦。這個情況下,就得考慮合併了,也就是對應上圖的merge按鈕啦。
點了會出現下圖。
注意下,這個頁面的佈局,左邊的是local,也就是本地的,你修改的,右邊的是server,也就是 伺服器上的,中間的就是result,也就是合併結果。
再注意,右上角那地方,有個數字,也就是簡單的總結下衝突和變更的個數。
這個視情況而定。
我的這個例子裡面衝突的就一個地方。然後就是還有個比更的地方。
這個時候,你再看這個截圖中間的2個紅框,裡面的箭頭方向都是朝向中間的,要是你覺得哪邊合適,也就是哪邊的程式碼是OK的,那麼就點哪邊的箭頭,然後拋棄的哪一邊,就點對應的那個差號,就放棄啦。
因為這個地方有2個變化,一個衝突,一個變更。那麼,這都是要處理的。
所以,你要把這些都變更,衝突,都處理完啦。最後,點apply,這之後,就算是合併衝突完事兒啦。
下面說提交程式碼的相關說明。
下面就是比較這個編輯器比eclipse的版本管理好的地方啦。
也就是這個原生代碼在修改之後,他可以按你的想法分資料夾存放。
以方便把任務一個個的分開,做完一個提交一個。而不是在你提交的時候,你得自己仔細仔細的查詢哪個和哪個是一個任務的,然後再提交,下面看圖示範。
圖上,忘記打箭頭啦(那個綠色的加號可以新增類別,紅色減號,刪除類別。就不示範了)。
可以看到我又添加了2個列表,一個是“執行緒測試”,一個是“system測試”。
這相當於是2個任務,他們又互不相干。你幹完一個,你就可以選中一個列表,然後提交。
而不是下面這種。三個修改的檔案放在一起,提交的時候,得自己找你完成了哪個任務,提交哪個檔案。
可以看到這三個檔案,假設不分組存放的話,你幹完任務你得找一下,哪個是需要提交的,然後再提交。
不要說這個無所謂啦,在這裡,你看到的是隻是改動了三個檔案,但是,一般專案,動不動就是十幾二十個檔案的改動,你慢慢挑,挑瞎你。
搞不好,還會出現,哎,忘記提交了這個檔案,或者多提交了那個檔案。既然有這麼好的功能,為何不好好利用一下呢。
這裡面還有些個按鈕我就不一一解釋啦。
因為我這個是為了寫這個文章而做的沒必要的修改,這個時候,我就可以選中這個default類別,然後點選那個第一豎排的第三個按鈕,revert,直接把程式碼回撤到與庫裡程式碼相同的版本。也就是撤銷我的修改。(順便示範一下這個按鈕的作用)
預設,這個地方就只有一個default分類,所有修改的檔案都會本分在這個default類裡面,你可以根據需要,自行新建分類。
還有就是,剛剛從eclipse轉過來的同學,可能會發現,在這編輯器裡面修改了檔案之後,發現,資料夾的顏色不像eclipse那樣跟著變顏色。因為所有被修改的程式碼都會在這個local changes的地方顯示的,所以,資料夾變顏色的這個,也就顯得沒必要啦。
關於單獨選擇某個或者某些被修改的檔案的截圖如下。
不想選中整個類別提交所有的話,你也可以按Ctrl選中你想要提交的檔案,然後再點左邊的第一豎排的第二個按鈕提交。這幾個按鈕和我們在上面的工具欄看到的是一樣的。
選中之後,
也可以revert,回撤,
move to another changelist,換個類別列表。
show diff,檢視修改檔案和原來庫裡的差別。注意一下,快捷鍵提示哦,這個你在提交程式碼的時候,把每個提交的檔案都跟庫裡對比一下,確認一下修改的地方沒錯誤,再提交。
delete,刪除某個檔案。
看個實際提交的圖的例子。
Reformat code
格式化程式碼,如果是 Web 開發建議不要勾選,因為格式化 JSP 類檔案,格式化效果不好。如果都是 Java 類則可以安心格式化。Rearrange code
重新編排程式碼,IntelliJ IDEA 支援各種複雜的編排設定選項,這個會在後面說。設定好了編碼功能之後,這裡就可以嘗試勾選這個進行自動編排。Optimize imports
優化匯入包,會在自動去掉沒有使用的包。這個建議都勾選,這個只對 Java 類有作用,所以不用擔心有副作用。Perform code analysis
進行程式碼分析,這個建議不用在提交的時候處理,而是在開發完之後,要專門養成對程式碼進行分析的習慣。IntelliJ IDEA 集成了程式碼分析功能。Check TODO
檢查程式碼中的TODO
。Cleanup
清除下版本控制系統,去掉一些版本控制系統的錯誤資訊,建議勾選。
第一個程式碼格式化,你只是格式化你寫的程式碼就行,專案是很多人在不同的時間段寫的,所以,不要隨便格式化別人的程式碼,那樣版本控制就會顯得亂七八糟。你寫的程式碼肯定要記的格式化一下。
優化匯入包的,這個可以在編輯器的配置裡面配置,不需要到這再弄,囉嗦啦。
分析程式碼,他分析程式碼會說你的程式碼會有多少警告,程式碼哪裡和哪裡重複啦,等等,也很囉嗦,這些你在寫程式碼的時候,看到黃色警告線,都大概處理下就好啦,也沒必要來這裡囉嗦。
check todo 也沒必要。所以,我就一個沒勾選啦
還有一個比較有用的地方就是 ignore。
有些不需要版本控制的檔案,該怎麼處理,才能是這個local changes,這一欄看著乾淨整潔點。
因為我這個專案已經處理過了,所以,我只是把我處理的東西拿出來示範一下。這些個是我忽略版本管理的那些檔案,
可以看到都是在.dea資料夾下的一些檔案,這些檔案是不需要版本控制的,也不需要顯示在這local changes一欄的。所以,你選中這些多餘的檔案,然後ignore掉就可以啦。
這樣就把這些不需要版本控制的檔案都從這一欄消失掉,這個操作完之後,點一下重新整理就可以啦。
就是左邊第一豎排的第一個 按鈕啦。我這麼大概解釋下,你在摸索下,就知道具體怎麼回事啦。
他可以忽略某個檔案,或者忽略某個資料夾下的檔案,或者是某一型別檔案。。。對應上圖中間的三個操作。
你可以如下檢視你忽略版本控制的檔案。
下面再補充一些常用的小技巧。
這是第一個小技巧。
你再同樣操作一下,就可以把這個給關掉啦。
這個是滑鼠懸停在某一個提交記錄上的效果,可以看到當時的提交理由。
直接點選之後,就會有個彈出框,顯示當時這次提交的時候,所有的改動檔案。
第二個小技巧。
這個圖上略顯綠色的是新增的 程式碼,
下面這個直接修改的程式碼,
下面是刪除時候的樣子。
第四步,一些個簡單的配置。
上面說的是一些常用的使用日常,下面再看一些比較常用的配置相關的內容。
- 如上圖標註 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
表示彈出提示選項,讓開發者決定這些被刪除的是否從版本控制中刪除。如果不想彈出提示,則選擇下面兩個選項進行預設操作。
下面就是上面說的那個圖示的位置的圖。
剩下的,可以自己閒的蛋疼的時候,隨便點點,看個大概,估計就知道是什麼意思啦。