版權聲明:本文爲博主原創文章,未經博主允許不得轉載。
安裝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 right-click on any folder you like to bring up the context menu where you will find all tortoisesvn commands.
- 1
- 2
- 3
- 4
- 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
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
原因: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