Android團隊成員間的代碼共享!(SVN版)

本博文參照自大旭師兄的博文

一、 這篇文章要解決什么問題,能學習到什么?

在android團隊的開發(fā)中,少不了與隊員之間的合作。為了避免我們傻瓜式地復制粘貼對方的負責的那部分功能代碼,我們可以用svn或者git的方式來托管代碼,實現(xiàn)代碼共享。

(使用此svn托管代碼前,你必須要有svn的賬號,一般是boss買的服務器賬號給我們用的,如果是普通幾個人的開發(fā)建議用git,在樓主稍后另外一篇博文有Git版)

二、問:什么svn?

SVN是Subversion的簡稱,是一個開放源代碼的版本控制系統(tǒng)。到目前為止的使用來說,我更喜歡把他理解為一個放置代碼的,并且可以可以和其他人的代碼進行融合的服務器。(想要了解更多svn的知識可以點擊這里

三、在android studio中配置svn和使用svn的流程。

下載一個SVN(TortoiseSVN):

運行TortoiseSVN程序,一直點擊Next就可以了,不過要記住我們的安裝位置,因為等下配置要用。

AndroidStudio中配置SVN:

一、Android Studio配置SVN

Android Studio關聯(lián)配置SVN很簡單,在File->Settings->Version Control->Subversion里面,在這個頁面的控制面板中的General中將Use command line client打勾勾選上,然后瀏覽本地的SVN安裝目錄,選到"\svn.exe"即可;
在Use command line client下面還有一個Use system default Subversion configuration directory,這個默認是勾選上上的,這個是svn相關配置信息的路徑,保留默認路徑就行,目前沒有發(fā)現(xiàn)需要修改什么東西。以上操作如下圖:


二、Android Studio項目關聯(lián)SVN資源庫及添加忽略文件

在Android Studio中新創(chuàng)建一個Android項目,在未關聯(lián)SVN之前添加忽略文件才有效。Android Studio添加忽略文件同樣是在Settings->Version Control(跟版本控制有關的設置都在這個目錄下)下的 Ignored Files 里,點擊加號進行忽略文件的設置,Android Studio默認給出了三種忽略方式:忽略指定的文件、忽略文件夾下所有文件和忽略符合匹配規(guī)則的文件。
如圖所示:


點擊右側的“+”進行添加,“-”刪除;Android Studio創(chuàng)建的Android項目一般需要忽略

  • .idea文件夾
  • .gradle文件夾
  • 所有的build文件夾(包括app文件夾里面的build文件夾)
  • 所有的.iml文件
  • local.properties (選擇第一個Ignore special file就可以看見了)

忽略完文件后,我們進行項目同SVN的關聯(lián),在菜單欄我們選擇VCS->Import into Version Control-> Share Project(Subversion) ;
在Import into Version Control下有Import into Subversion和Share Project(Subversion)兩個選項:

  • Import into Subversion是直接將項目導入到SVN服務器上,但是這樣做本地的項目同SVN服務器沒有建立起關聯(lián),在導入后項目所有的文件都會變成紅色,而且在要提交到SVN服務器時會提示項目不是SVN下的工作副本;
  • Share Project(Subversion) 是將Android Studio當前項目同SVN服務器關聯(lián)起來,但是并沒有將項目導入到SVN服務器上,需要在完成建立連接后再次提交項目到SVN服務器。

兩種方式都可以實現(xiàn)將本地代碼提交到SVN服務器的功能,但是步驟有所不同,先來完成第二種方式的項目同SVN的關聯(lián)及代碼提交,下圖既是Share Project(Subversion)方式將本地項目同SVN進行關聯(lián)的:

之后會彈出選擇要分享的SVN地址及其他選項,如下圖:


在Define share target下選擇第二個可以再trunk下創(chuàng)建你當前項目的文件夾,相應的第一個選項是直接將整個文件都放到trunk文件夾下,第三個在項目文件夾下有創(chuàng)建了一個trunk文件夾,因此建議使用第二中方式;選擇完成后點擊Share就可以了,會彈出讓你選擇SVN工作副本的格式化版本(jdk版本),如下圖:

選擇1.8format。點擊OK等待一會就能創(chuàng)建本地項目同SVN服務器的關聯(lián)了,待項目里的內容變成綠色的即表示已經成功了,如下圖所示:



到目前為止只是將項目同SVN服務器建立了聯(lián)系,并沒有將代碼提交到SVN服務器上去;如何提交呢,其實很簡單,只需點擊SVN相關操作按鈕里的commit就行了(下圖SVN相關操作按鈕左起第二個按鈕);

點擊Commit后Android Studio會先對當前代碼進代碼分析,如果有錯誤或者警告會彈出如下的框,如果有錯誤沖突等需要解決后再提交,如果是警告可以忽略;第一次將整個代碼提交到SVN服務器時時間有可能有點長,請耐心等待,之后再創(chuàng)建項目時就不會這么慢了。

成功后我們就完成了新建項目同SVN的關聯(lián)及導入項目到SVN服務器上了。

三、其他的小伙伴如何從SVN上下載項目,和你進行關聯(lián)。
  • 1選擇VCS中的Checkout from Version Control里面的Subversion,然后選擇你SVN子目錄里面的項目文件:



  • 2然后彈出來的窗口都還存放的地址(存放的文件夾名字最好和項目名字一樣,要不然它會修改你項目名字):


點擊OK后出現(xiàn):


選擇第一個(你自己創(chuàng)建的文件夾),與你項目名字一樣的。點擊OK后出現(xiàn)這個,選擇1.8



點擊OK,最下面出現(xiàn)檢查。檢測完成后彈出是否打開工程,點擊YES。然后彈出來的窗口如下面所示,別選擇第一個,第一個意思是下載一個Gradle,選擇Use default gradle wapper下面一個,用你本地的gradle,然后就大致OK了。


四、Android Studio SVN代碼沖突的解決

在使用SVN更新服務器上的代碼時,有時會彈出代碼沖突的對話框,問你是否進行合并,并提供了三種合并方案:accept yours(使用你的)、accept theirs(使用別人的)和merge(合并);前兩個都是進行的覆蓋操作,就不多做解釋了;當你選擇merge合并時,會彈出代碼合并對照窗口,一共有三個屏,左右兩側時你和服務器不同的代碼并高亮顯示不同的部分,帶有箭頭和叉號,通過點擊箭頭將兩邊沖突的代碼添加到中間的合并區(qū)域中去,點擊叉號則辨識放棄那一段代碼,待所有沖突處理完成后merge就成功了。



Over 文中有什么錯漏的歡迎大家說出來哈

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容