使用Android studio須要本身獨立安裝帶有 command line 功能的 SVN 客戶端,我使用的是TortoiseSVN,聽說 1.7 以後開始支持 command line 模式,我如今用的是 1.8.5 版本服務器
如圖,安裝時必須自定義選擇 command line 不然不會安裝的ide
安裝完成後,按照下面步驟svn
1、Android Studio配置SVN
gradle
Android Studio關聯配置SVN很簡單,在Settings裏面,找到Version Control->Subversion;在這個頁面的控制面板中的General中將Use command line client打勾勾選上,而後瀏覽本地的SVN安裝目錄,選到"\svn.exe"便可;
在Use command line client下面還有一個Use system default Subversion configuration directory,這個默認是勾選上上的,這個是svn相關配置信息的路徑,保留默認路徑就行,目前沒有發現須要修改什麼東西;以上操做以下圖:
2、Android Studio項目關聯SVN資源庫及添加忽略文件
ui
在Android Studio中新建立一個Android項目,成功後咱們先來添加要忽略的文件;在Android Studio中添加忽略文件同Eclipse有所不一樣,在Eclipse上咱們何時添加忽略文件均可以,可是在Android Studio中只有在未關聯SVN以前添加忽略文件纔有效(試了好屢次纔將忽略文件忽略成功啊!)。Android Studio添加忽略文件一樣是在Settings->Version Control(跟版本控制有關的設置都在這個目錄下)下的Ignored Files裏,點擊加號進行忽略文件的設置,Android Studio默認給出了三種忽略方式,供開發者進行選擇:忽略指定的文件、忽略文件夾下全部文件和忽略符合匹配規則的文件;如圖所示:
點擊右側的「+」進行添加,「-」刪除;Android Studio建立的Android項目通常須要忽略.idea文件夾、.gradle文件夾、全部的build文件夾、全部的.iml文件及local.properties文件。
忽略完文件後,咱們進行項目同SVN的關聯,選擇VCS->Import into Version Control->Share Project(Subversion);這裏說明一點,在Import into Version Control下有Import into Subversion和Share Project(Subversion)兩個選項:第一個是直接將項目導入到SVN服務器上,可是這樣作本地的項目同SVN服務器沒有創建起關聯,在導入後項目全部的文件都會變成紅色,並且在要提交到SVN服務器時會提示項目不是SVN下的工做副本;第二個是將Android Studio當前項目同SVN服務器關聯起來,可是並無將項目導入到SVN服務器上,須要在完成創建鏈接後再次提交項目到SVN服務器。兩種方式均可以實現將本地代碼提交到SVN服務器的功能,可是步驟有所不一樣,先來完成第二種方式的項目同SVN的關聯及代碼提交,第一種貌似不正規,以後再說;下圖既是第二種方式將本地項目同SVN進行關聯的:
以後會彈出選擇要分享的SVN地址及其餘選項,以下圖:mp;amp;gt;
在Define share target下選擇第二個能夠再trunk下建立你當前項目的文件夾,相應的第一個選項是直接將整個文件都放到trunk文件夾下,第三個在項目文件夾下有建立了一個trunk文件夾,所以建議使用第二中方式;選擇完成後點擊Share就能夠了,會彈出讓你選擇SVN工做副本的格式化版本(jdk版本),以下圖:
建議選擇1.8format,我以前選擇了其餘的試了一下,發現項目總會報出一下錯誤,緣由暫時未發現,就先這樣選擇吧;點擊OK等待一會就能建立本地項目同SVN服務器的關聯了;成功後悔自動刷新本地的項目,待項目裏的內容變成綠色的即表示已經成功了,以下圖所示:
到目前爲止只是將項目同SVN服務器創建了聯繫,並無將代碼提交到SVN服務器上去;如何提交呢,其實很簡單,只需點擊SVN相關操做按鈕裏的commit就好了(上圖SVN相關操做按鈕左起第二個按鈕);
點擊Commit後Android Studio會先對當前代碼進代碼分析,若是有錯誤或者警告會彈出以下的框,若是有錯誤衝突等須要解決後再提交,若是是警告能夠忽略(同Eclipse相同);第一次將整個代碼提交到SVN服務器時時間有可能很長,請耐心等待,以後再建立項目時就不會這麼慢了。
成功後咱們就完成了新建項目同SVN的關聯及導入項目到SVN服務器上了。
關於第一種方式,在將本地代碼導入到SVN服務器後將本地代碼刪除,而後從SVN服務器上將以前提交的代碼更新下來,這樣一來也能夠同SVN創建關聯正常進行開發;第一種方式和第二種方式的區別就在於:第一種是將代碼先提交到SVN服務器上,而後再從SVN服務器上更新下來(本地項目同SVN服務器創建聯繫);第二種是先同SVN服務器監理聯繫,而後將代碼提交到SVN服務器上去。建議使用第二種方式進行新項目的SVN關聯。
3、Android Studio SVN代碼衝突的解決
idea
關於代碼衝突解決的問題,首先要感謝一下知友 ShinChven的回答建議。在使用SVN更新服務器上的代碼時,有時會彈出代碼衝突的對話框,問你是否進行合併,並提供了三種合併方案:accept yours(使用你的)、accept theirs(使用別人的)和merge(合併);
前兩個都是進行的覆蓋操做,就很少作解釋了;當你選擇merge合併時,會彈出代碼合併對照窗口,一共有三個屏,左右兩側時你和服務器不一樣的代碼並高亮顯示不一樣的部分,帶有箭頭和叉號,經過點擊箭頭將兩邊衝突的代碼添加到中間的合併區域中去,點擊叉號則辨識放棄那一段代碼,待全部衝突處理完成後merge就成功了。
從服務器檢出一、checkout from subversion二、項目檢出之後open build.gradle 打開工程三、工程打開之後在頂部VCS 裏面enable version control 選subversion提交到服務器VCS - import into subversion 下班以前 寫的 趕着回家,晚上再補顯示所有spa
從服務器檢出
一、checkout from subversion
二、項目檢出之後open build.gradle 打開工程
三、工程打開之後在頂部VCS 裏面enable version control 選subversion
提交到服務器
VCS - import into subversion版本控制
紅色表明未添加到svn裏的文件,右鍵選擇subversion-add to svn,等他變綠
綠色表明文件修改了還沒上傳,能夠直接所有上傳,也能夠右鍵subversion-commit file
藍色表明兩我的都修改了,須要先下載融合再上傳,也能夠改以前先鎖上,subversion-lock,修改完畢點commit直接能夠解鎖,也能夠unlock解鎖orm