android studio中使用svn詳解
安裝SVN
svn安裝: 需注意,需安裝 command line功能。
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
- 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版本太新了
解決方式:- AS去自行下載所支援的Gradle版本。
- 先拷貝下來專案,然後通過AS匯入專案(曲線救國方式)。
- 引入其他的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關聯後項目中顏色說明:
- 紅色檔案:未新增svn中檔案,可以右鍵–>subversion-add to svn
- 綠色檔案:關聯上了svn,但是進行了修改,未提交。可以右鍵–>subversion-commit file
- 藍色檔案: 多人修改,需要下載後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操作術語:
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:更新版權
PS:本篇文章,通過知乎,度娘,谷歌等多種方式搜尋以及參考多篇優秀教程,資源如下。
資源參考:
AndroidStudio上SVN教程(英文):http://www.cs.dartmouth.edu/~campbell/cs65/svn/androidstudio.html
- Gradle Problem:http://digitallibraryworld.com/?p=381