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


一、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相關配置信息的路徑,保留默認路徑即可,眼下沒有發現須要改動什么東西;以上操作例如以下圖:


二、Android Studio項目關聯SVN資源庫及加入忽略文件
在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】:第一個是直接將項目導入到SVNserver上,可是這樣做本地的項目同SVNserver沒有建立起關聯,在導入后項目全部的文件都會變成紅色,並且在要提交到SVNserver時會提示項目不是SVN下的工作副本。第二個是將Android Studio當前項目同SVNserver關聯起來,可是並沒有將項目導入到SVNserver上,須要在完畢建立連接后再次提交項目到SVNserver。

兩種方式都能夠實現將本地代碼提交到SVNserver的功能,可是步驟有所不同。先來完畢另外一種方式的項目同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:


加入server倉庫:導入項目到server一路next就能夠啦!

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

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




到Commit Changes 這里有幾個選項須要了解的:


Auto-update after commit :自己主動升級后提交

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

在你提交之前: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這個選項試一下其作用:



應該明確是創建一個補丁文件基本的作用就是能夠查看改動的地方:



三、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里面的







免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM