Android Studio SVN/Git之忽略檔案
新建Android專案的時候設定忽略檔案都是一件很麻煩的事情…因為我老是記不起來哪一些應該忽略的.然而當然用Git的時候發現竟然會自動幫我識別出哪一些檔案會自動忽略!他太神奇了!
SVN就那麼爛麼?事實我覺得只是我開啟的方式不對而已!
通過AndroidStudio設定忽略檔案
其實最終結果必定是儲存到某一個地方
首先來看看Git是怎麼實現的.
在大名鼎鼎的https://github.com新建一個repository的時候我注意到可以自動生成一個.gitignore檔案.
生成repository的時候,服務已經有一個.gitignore檔案了.
看看.gitignore檔案裡面是什麼玩意
其實直覺已經告訴我,Git就是根據這個檔案忽略部分檔案的.
然後隨便進入一個Android專案目錄看看.太神奇了吧.這專案是用SVN管理的,AndroidStudio也會自動生成一個.gitignore檔案.AndrodStudio你就是極力推薦使用Git管理程式碼嘛!
細看其實有不同的,自動生成的.gitignore檔案只是忽略部分檔案
當然對比Git生成的.gitignore檔案.Git那個.gitignore檔案檔案看來更全面一點.那麼說我如果使用Git管理專案我完全可以使用Git自動生成那個.gitignore檔案用來忽略部分檔案.
Git生成的.gitignore檔案
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
# Keystore files
*.jks
Git原來就是這樣!通過.gitignore檔案達到這效果.
但是SVN呢?
SVN/Git都同時使用的真累!
仔細發現其實SVN是通過workspace.xml檔案管理的
在component節點下的ignored節點
語法很簡單,注意在資料夾要在後面新增斜槓.
檔案: <ignored path="檔名" />
資料夾: <ignored path="檔案\" />
匹配: <ignored mask="*.iml" />
現在大家都懂了吧?
如果通過Git那麼忽略檔案資訊是保持在根目錄下的.gitignore檔案裡面.
如果是使用SVN那麼忽略檔案資訊是保持在.idea/workspace.xml檔案裡面.
當然通過AndroidStudio設定忽略檔案最終會根據你採用什麼管理工具自動儲存到相應的地方.
Git忽略檔案的配置
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
.idea/workspace.xml
# Keystore files
*.jks
SVN忽略檔案的配置
<ignored path="local.properties" />
<ignored path=".idea/workspace.xml" />
<ignored path=".idea/libraries/" />
<ignored path=".gradle/" />
<ignored path=".idea/" />
<ignored path="build/" />
<ignored path="app/build/" />
<ignored mask="*.iml" />