1. 程式人生 > >android studio中使用svn詳解

android studio中使用svn詳解

安裝SVN


  1. svn下載https://tortoisesvn.net/downloads.html

  2. svn安裝: 需注意,需安裝 command line功能。

  3. svn注意點

    3.1. 需要重啟電腦,右鍵才會出現svn的各種選單。 
    3.2. 若是直接開啟TotoseSVN客戶端,會出現以下提示:

     tortoisesvn is a shell extension
     that means it is integrated into the windows explorer.
     to use tortoisesvn please open the explorer and
    right-click on any folder you like to bring up the context menu where you will find all tortoisesvn commands.
    • 1
    • 2
    • 3
    • 4

    因此,svn不直接以客戶端執行,需對檔案進行操作。


AndroidStudio 上SVN的使用


1. AndroidStudio配置 svn:

步驟:開啟Android Studio–>File–>Setting–>Version Control–>Subversion

這裡寫圖片描述

配置svn路徑:在上圖中的Use Command Line Client中新增svn.exe, svn預設路徑C:\Program Files\TortoiseSVN\bin\svn.exe

若是不存在svn.exe,則安裝TotoseSVN未安裝command line功能,需重新安裝。

2. android Studio新增忽略檔案以及上傳專案到svn:

  • 上傳專案到svn前需新增忽略檔案 
    步驟:開啟Android Studio–>File–>Setting–>Version Control–>Ignored Files –新增忽略的檔案

    androidStudio提供了三種選擇忽略規則:

     Ignore specified file:忽略指定檔案
     Ignore all files under:忽略資料夾下所有檔案
     Ignore all files mathching: 忽略符合匹配規則的檔案。
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3
    • 1
    • 2
    • 3

    SVN中檔案忽略規則: .ide檔案 、 .gradle檔案 、 所有的build檔案(包含module中build) 、 所有的.iml檔案 、local.properties 檔案。

    依次新增完忽略檔案,如下圖所示:

    這裡寫圖片描述

    除此之外,還有一種通過.ignore外掛方式新增忽略檔案。 
    步驟:File→Settings→Plugins→Browse repositories-> 搜尋.ignore–>安裝後,重啟AS–>手寫忽略檔案規則。 
    最終專案(Project)中出現.gitignore檔案如下圖所示:

    這裡寫圖片描述

  • android studio上傳專案到svn進行關聯

    步驟: VCS->Import into Version Control->Import into Subversion(這裡androidStudio 2.1.1 沒有Share Project(Subversion))–>Import into Subversion彈窗中,點選+ –>建立一個新的倉庫,填寫svn伺服器路徑,選擇上傳的專案(Project而不是單個Moudle),一路next。

    這裡寫圖片描述

    Import into Subversion過程說明:

    先將原生代碼匯入SVN伺服器上。但是SVN沒有關聯到本地的程式碼。因此,需要將svn伺服器上的程式碼更新下來,即下面AndroidStudio從步驟中從svn中check out專案的步驟。這樣才能完成本地專案和SVN伺服器建立關聯,才能正常開發。

3. AndroidStudio從SVN伺服器上Check out 專案:

  • 第一種方式:file–>project from verson controll–>subvsersion –>從Repostory(倉庫中)選擇要check out的專案的路徑或者新增要check out的專案路徑–>check out–>Destionation Directory彈窗中,選擇專案存放路徑–>OK,接下來Android Studio會自動載入專案。

    這裡寫圖片描述

    這裡寫圖片描述

    從SVN伺服器check ou專案到本地路徑中,成功建立關聯後如下圖所示:

    這裡寫圖片描述

  • 第二種方式:CVS–>Check from Verson Controll–>subversion–>選擇倉庫路徑–>import:

    點選yes開啟,匯入專案後會問你兩次*iml要不要加到版本控制,選擇no即可 。

    點選yes後,可能遇到匯入其他工程會彈出Import project form Gradle彈窗,需要選擇UseLocal gradle distribution–>在Gradle Home中選擇安裝androidstudio中gradle外掛的路徑。這裡是E:\AndroidStudio\studio\plugins\gradle

    接著卻提示:

    the project is using an unsupported version of gradle. please point to a supported Gradle version in the project's Gradle.
    
    The project is using an unsupported version of Gradle.
    Please point to a supported Gradle version in the project's Gradle settings or in the project's Gradle wrapper (if applicable.) 
    com.intellij.openapi.externalSystem.model.ExternalSystemException: The project is using an unsupported version of Gradle.
    Please point to a supported Gradle version in the project's Gradle settings or in the project's Gradle wrapper (if applicable.) 
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    原因:Gradle版本太新了 
    解決方式:

    1. AS去自行下載所支援的Gradle版本。
    2. 先拷貝下來專案,然後通過AS匯入專案(曲線救國方式)。
    3. 引入其他的Gradle: 

      C:\Users\xxxx.gradle\wrapper\dists\gradle-1.12-all\2apkk7d25miauqf1pdjp1bm0uo\gradle-1.12 

    接下來卻報:Plugin with id ‘com.android.application’ not found.

4. AndroidStudio svn程式碼衝突的解決方式:

當代碼衝突時候,會彈出Files Merged with Conflicts彈窗。彈窗左邊是是衝突的列表,右邊有合併方式,Accept Yours(以自己的程式碼為合併後的程式碼),Accept Theirs(接受svn伺服器上的程式碼),Merge(兩者合併)。

這裡寫圖片描述

最佳方案:選擇Merge(合併)–>合併對照視窗。 
合併彈窗說明:有三個子檢視部分,最左邊檢視的是原生代碼,即自己的程式碼。中間檢視是合併後代碼顯示的檢視。最右邊的是svn上的程式碼檢視。 
合併做法:點選箭頭將兩邊衝突的程式碼新增到中間的合併區域中去,點選叉號則辨識放棄那一段程式碼,待所有衝突處理完成後merge就成功了。

這裡寫圖片描述

5. AndroidStudio瀏覽SVN伺服器上的專案資料夾:

步驟:Vcs–>Browse VS Repository–>Browse Subversion Repository.

這裡寫圖片描述

SVN Repository視窗會顯示專案列表:

這裡寫圖片描述

6. SVN關聯後項目中顏色說明:

  1. 紅色檔案:未新增svn中檔案,可以右鍵–>subversion-add to svn
  2. 綠色檔案:關聯上了svn,但是進行了修改,未提交。可以右鍵–>subversion-commit file
  3. 藍色檔案: 多人修改,需要下載後mergc後再上傳。也可以先鎖上(subversion-lock),修改完後cmomit提交上去,會自動解鎖。

7. SVN建立分支

步驟:對著專案(Project)右鍵–>SubVersion–>Branch or Tag 
–>彈出Create Branch or Tag彈窗–>Base URL選分支路徑(同行中最右邊的選擇路徑彈窗中選擇)–>Comment註釋–>OK.

這裡寫圖片描述

比較專案的操作:對著專案右鍵–>SubVersion->Compare With branch…比較合併.

8. SVN恢復資源庫檔案

當檔案修改了之後,發現修改的無效,需要恢復資源庫最後一個版本的內容,在所選檔案單擊右鍵,選擇 Subversion ,再選擇Reset ,即回到了資源庫中的版本。

9. 一些svn操作術語:

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

  2. keep files locked :把檔案鎖上,我想這應該就只能你修改其他開發人不能修改不了的功能,在你提交之前:before commit

  3. Reformat code:重新格式化程式碼

  4. Rearrange code:重新整理程式碼

  5. Optimize imports:優化匯入

  6. Perform code analysis:執行程式碼分析[ 預設選擇]

  7. Check TODO(show all):檢測需要修改的程式碼[顯示所有預設選擇]

  8. clean up: 清除所有

  9. Update copyright:更新版權

PS:本篇文章,通過知乎,度娘,谷歌等多種方式搜尋以及參考多篇優秀教程,資源如下。

資源參考: