Android Studio配置SVN 以及使用代碼管理

1、Android Studio配置SVN
Android Studio關聯配置SVN很是easy,在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資源庫及加入忽略文件
在Android Studio中新建立一個Android項目,成功後咱們先來加入要忽略的文件;在Android Studio中加入忽略文件同Eclipse有所不一樣。在Eclipse上咱們何時加入忽略文件都可以。但是在Android Studio中僅僅有在未關聯SVN以前加入忽略文件纔有效(試了好屢次纔將忽略文件忽略成功啊!

)。Android Studio加入忽略文件相同是在Settings->Version Control(跟版本號控制有關的設置都在這個文件夾下)下的Ignored Files裏,點擊加號進行忽略文件的設置。Android Studio默認給出了三種忽略方式,供開發人員進行選擇:忽略指定的文件、忽略目錄下所有文件和忽略符合匹配規則的文件;如圖所看到的:ide

點擊右側的「+」進行加入。「-」刪除。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】:第一個是直接將項目導入到SVNserver上,但是這樣作本地的項目同SVNserver沒有創建起關聯,在導入後項目所有的文件都會變成紅色,而且在要提交到SVNserver時會提示項目不是SVN下的工做副本。第二個是將Android Studio當前項目同SVNserver關聯起來,但是並無將項目導入到SVNserver上,需要在完畢創建鏈接後再次提交項目到SVNserver。

兩種方式都可以實現將本地代碼提交到SVNserver的功能,但是步驟有所不一樣。先來完畢另一種方式的項目同SVN的關聯及代碼提交。第一種貌似不正規。以後再說;下圖既是另一種方式將本地項目同SVN進行關聯的:svn

以後會彈出選擇要分享的SVN地址及其它選項,例如如下圖:
在Define share target下選擇第二個可以再trunk下建立你當前項目的目錄,對應的第一個選項是直接將整個文件都放到trunk目錄下,第三個在項目目錄下有建立了一個trunk目錄,所以建議使用第二中方式;選擇完畢後點擊Share就可以了,會彈出讓你選擇SVN工做副本的格式化版本號(jdk版本號)。例如如下圖:
建議選擇1.8format,我以前選擇了其它的試了一下,發現項目總會報出一下錯誤,緣由臨時未發現,就先這樣選擇吧;點擊OK等待一會就能建立本地項目同SVNserver的關聯了;成功懊悔本身主動刷新本地的項目。待項目裏的內容變成綠色的即表示已經成功了,例如如下圖所看到的:
到眼下爲止僅僅是將項目同SVNserver創建了聯繫。並無將代碼提交到SVNserver上去;怎樣提交呢,事實上很是easy,僅僅需點擊SVN相關操做button裏的commit便可了(上圖SVN相關操做button左起第二個button);
點擊Commit後Android Studio會先對當前代碼進代碼分析,假設有錯誤或者警告會彈出例如如下的框。假設有錯誤衝突等需要解決後再提交,假設是警告可以忽略(同Eclipse一樣)。第一次將整個代碼提交到SVNserver時時間有可能很是長,請耐心等待,以後再建立項目時就不會這麼慢了。
成功後咱們就完畢了新建項目同SVN的關聯及導入項目到SVNserver上了。

關於第一種方式。在將本地代碼導入到SVNserver後將本地代碼刪除,而後從SVNserver上將以前提交的代碼更新下來,這樣一來也可以同SVN創建關聯正常進行開發;第一種方式和另一種方式的差異就在於:第一種是將代碼先提交到SVNserver上,而後再從SVNserver上更新下來(本地項目同SVNserver創建聯繫)。另一種是先同SVNserver監理聯繫。而後將代碼提交到SVNserver上去。建議使用另一種方式進行新項目的SVN關聯。佈局


在個人studio1.3版本號裏面沒有share project(subvision的)僅僅能選擇直接導入項目到server:post


加入server倉庫:導入項目到server一路next就可以啦!gradle

導入成功後本地項目就好和server關聯起來:優化

略微改動下佈局看看是否關聯測試下:ui




到Commit Changes 這裏有幾個選項需要了解的:idea


Auto-update after commit :本身主動升級後提交spa

keep files locked :把文件鎖上,我想這應該就僅僅能你改動其它開發人不能改動不了的功能.net

在你提交以前:before commit

Reformat code:又一次格式化代碼

Rearrange code:又一次整理代碼

Optimize imports:優化導入

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

Check TODO(show all):檢測需要改動的代碼[顯示所有默認選擇]

clean up: 清除所有

Update copyright:更新版權


詳細看狀況選擇功能點:比方不想其它人改動這些代碼可以選擇keep files locked 

在Commit Message 加入改動信息



改動成功:


在commit button如下另外一個是create patch這個選項試一下其做用:



應該明確是建立一個補丁文件基本的做用就是可以查看改動的地方:



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


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




固然在使用過程當中確定會遇到很是多的問題上面的東西也是參考其它大神的,本身也加入了幾點差異:到時候遇到問題再繼續研究下。


繼續無缺:

Checkout  SVN上的項目

選擇subversion

 

導入項目到SVNserver,

Import into 選擇subversion

 

 

 

點擊 加入服務地址好比

 

 

 

瀏覽SVNserver上的項目目錄

 

SVN倉庫會顯示文件列表

 

其它說明

 

 

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

文件紅色:表示文件沒有加入到server

綠色:表示沒有更新新的改動到server

普通黑色:表示和server同步

目錄顏色說明

 

參考 :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,加入到server

Commit:提交

Update:更新,獲取新版本號

Integrate:合併

注意:SVN和VSS不一樣簽入前假設文件被其它人改動需要比較版本號怎樣其它改動有效需要合併簽入

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


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

因此我直接在本地:commit到server裏面的




相關文章
相關標籤/搜索