內容摘自:
服務器
https://www.zhihu.com/question/32298079/answer/56010423 ide
知乎用戶,Android Studio關聯SVN相關操做svn
付永、Peter Liang、獨孤 等人贊同gradle
經過這兩天對Android Studio的研究,終於搞通了Android Studio的基本操做及與SVN的相關關聯操做(這樣才能在公司的開發工做中使用);Google年末將會中止ADT插件的更新和支持,全面轉向Android Studio(果真是本身的孩子啊),所以使用Android Studio進行安卓項目的開發也是大勢所趨,項目得閒之時研究一下Android Studio的使用;Android Studio的基本編輯操做如今網上已經不少了,須要的能夠找着看看,下面是這幾天摸索出來的Android Studio關聯SVN的相關操做,時間較短,若是有疏漏或錯誤的地方還望指正。
1、Android Studio配置SVN
ui
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資源庫及添加忽略文件
idea
在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地址及其餘選項,以下圖:![]()
在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代碼衝突的解決
spa
關於代碼衝突解決的問題,首先要感謝一下知友 ShinChven的回答建議。在使用SVN更新服務器上的代碼時,有時會彈出代碼衝突的對話框,問你是否進行合併,並提供了三種合併方案:accept yours(使用你的)、accept theirs(使用別人的)和merge(合併);
![]()
前兩個都是進行的覆蓋操做,就很少作解釋了;當你選擇merge合併時,會彈出代碼合併對照窗口,一共有三個屏,左右兩側時你和服務器不一樣的代碼並高亮顯示不一樣的部分,帶有箭頭和叉號,經過點擊箭頭將兩邊衝突的代碼添加到中間的合併區域中去,點擊叉號則辨識放棄那一段代碼,待全部衝突處理完成後merge就成功了。![]()