Android studio 下的svn配置使用

1、Android Studio配置SVN
服務器

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資源庫及添加忽略文件
ide

在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)兩個選項【在studio 1.3已經沒有第二個選項了只有Share Project on GitHup】:第一個是直接將項目導入到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關聯。svn

 

在個人studio1.3版本里面沒有share project(subvision的)只能選擇直接導入項目到服務器:佈局

加載中...

添加服務器倉庫:導入項目到服務器一路next就能夠啦!導入成功後本地項目就好和服務器關聯起來:測試

稍微修改下佈局看看是否關聯測試下:gradle

加載中...\

加載中...\\

 

到Commit Changes 這裏有幾個選項須要瞭解的:優化

 

Auto-update after commit :自動升級後提交ui

keep files locked :把文件鎖上,我想這應該就只能你修改其餘開發人不能修改不了的功能idea

在你提交以前:before commitspa

Reformat code:從新格式化代碼

Rearrange code:從新整理代碼

Optimize imports:優化導入

Perform code analysis:執行代碼分析[ 默認選擇]

Check TODO(show all):檢測須要修改的代碼[顯示全部默認選擇]

clean up: 清除全部

Update copyright:更新版權

\

具體看狀況選擇功能點:好比不想其餘人修改這些代碼能夠選擇keep files locked

在Commit Message 添加修改信息

\

修改爲功:

\

在commit 按鈕下面還有一個是create patch這個選項試一下其做用:

\

應該明白是建立一個補丁文件主要的做用就是能夠查看修改的地方:

\

3、Android Studio SVN代碼衝突的解決

關於代碼衝突解決的問題,首先要感謝一下知友ShinChven的回答建議。在使用SVN更新服務器上的代碼時,有時會彈出代碼衝突的對話框,問你是否進行合併,並提供了三種合併方案:accept yours(使用你的)、accept theirs(使用別人的)和merge(合併);
\

前兩個都是進行的覆蓋操做,就很少作解釋了;當你選擇merge合併時,會彈出代碼合併對照窗口,一共有三個屏,左右兩側時你和服務器不一樣的代碼並高亮顯示不一樣的部分,帶有箭頭和叉號,經過點擊箭頭將兩邊衝突的代碼添加到中間的合併區域中去,點擊叉號則辨識放棄那一段代碼,待全部衝突處理完成後merge就成功了。

\


固然在使用過程當中確定會遇到不少的問題上面的東西也是參考其餘大神的,本身也添加了幾點區別:到時候遇到問題再繼續研究下。
繼續完善:

Checkout SVN上的項目

選擇subversion

\

 

導入項目到SVN服務器,

Import into 選擇subversion

\

 

 

 

點擊 \添加服務地址例如

\

\

 

瀏覽SVN服務器上的項目文件夾

\

SVN倉庫會顯示文件列表

\

 

其餘說明

\

 

單文件 簽入當文件,右鍵subversion Add

文件紅色:表示文件沒有添加到服務器

綠色:表示沒有更新新的修改到服務器

普通黑色:表示和服務器同步

文件夾顏色說明

\

參考 :http://blog.csdn.net/niu_hao/article/details/6774471

黃色感嘆號(有衝突): --這是有衝突了,衝突就是說你對某個文件進行了修改,別人也對這個文件進行了修改,別人搶在你提交以前先提交了,這時你再提交就會被提示發生衝突,而不 容許你提交,防止你的提交覆蓋了別人的修改。要解決衝突,若是你確認你的修改是無效的,則用TSVN還原你的修改就好了;若是認爲你的修改是正確的,別人 的提交是無效的,那麼用TSVN先標記爲「解決衝突」,而後就能夠提交了;若是你認爲你的修改和別人的修改都有一部分是有效的,那麼你就把別人的修改手動 合併到你的修改中,而後使用TSVN標註爲「解決衝突」,而後就能夠提交了。進入文件夾,尋找有黃色感嘆號的文件,這些文件就是發生衝突的地方,根據實際 狀況處理衝突 米字號(有本地修改代碼): --這是說明你有未提交的本地代碼。 問好(新加入的資源): --這說明該文件是項目中新增文件資源,新增資源能夠是文件、圖片、代碼等。

紅色感嘆號(本地代碼與庫沒有保持一致): --這說明本地代碼跟庫上沒有保持一致,若是用戶想修復,能夠將帶紅色感嘆號圖標文件刪除,直接update便可。 灰色向右箭頭(本地修改過) --本地代碼沒有及時上庫。 藍色向左箭頭(SVN上修改過) --記得更新代碼後修改,提交前跟svn對比習慣。 灰色向右且中間有個加號的箭頭(本地比SVN上多出的文件) --修改完記得跟svn保持一致 藍色向左且中間有個加號的箭頭(SVN上比本地多出的文件) --刪除該文件後,再次更新,將svn上文件所有更新下來。 灰色向右且中間有個減號的箭頭(本地刪除了,而SVN上未刪除的文件) --也就是說你刪除確認後,必定要記得上庫,跟svn保持一致 藍色向左且中間有個減號的箭頭(SVN上刪除了,而本地未刪除的文件) --比對svn庫上代碼,肯定須要刪除後,更新svn(刪除無用代碼)。 紅色雙向箭頭(SVN上修改過,本地也修改過的文件 ) --這個表示本地和svn上都修改過,最好就是把本地修改合併到svn,修改代碼前最後先更新。

 

文件狀態說明:

\

 

單個文件簽入簽出操做:右鍵subversion

Add,添加到服務器

Commit:提交

Update:更新,獲取新版本

Integrate:合併

注意:SVN和VSS不一樣簽入前若是文件被其餘人修改須要比較版本如何其餘修改有效須要合併簽入

\

整個項目更新提交:Commit ,Update

\

 

不知道是啥緣由若是剛剛開始選擇share project(subvision)的話,好像在選擇commit的時候很慢,始終上傳不了綠色的部分代碼:

因此我直接在本地:commit到服務器裏面的

\

相關文章
相關標籤/搜索