Android Studio创建的Android项目一般需要忽略
1、.idea文件夹
2、.gradle文件夹
3、所有的build文件夹
4、所有的.iml文件
5、local.properties文件。
第一种:在Android Studio中设置
第二种:在项目的.idea/workspace.xml的文件里设置
<component name="ChangeListManager">
...
<ignored path=".gradle/" />
<ignored path=".idea/" />
<ignored path="gradle/" />
<ignored path="xx/build/" />
<ignored path="gradlew" />
<ignored path="gradlew.bat" />
<ignored mask="*.iml" />
<ignored path="local.properties" />
<ignored path="build/" />
<ignored mask="*.apk" />
</component>
实际操作中发现下次commit的时候 目录中还有Build文件夹,一直搞不懂怎么回事,过了一个月突然看到一遍博文,原因是:添加忽略文件必须在关联SVN前进行,否则无效。
SVN管理 Android Studio项目
- Android Studio配置SVN
- 添加忽略文件
- 项目关联SVN
- 提交代码
下面用AS创建project:Demo演示效果。
注意:添加忽略文件必须在关联SVN前进行,否则无效。Ignored Files在前,Share Project(Subversion)在后。
Step1: Android Studio配置SVN
File–>settting–>Version Control–>SubVersion–>General–>打钩:Use command line client并添加svn安装目录中的svn.exe
Step2: 添加忽略文件
File–>settting–>Version Control–>Ignored Files可以参考本博文开始的地方。
Step3: 项目关联SVN
VCS–>Import Version Control–>Share Project(Subversion),这样我们就把本地project关联到了svn仓库,但是并没有提交代码。
项目关联SVN
Define Share Target:一般选第2个选项
一般选1.8format
第一次刷新需要很长时间,如果你是新建的project,没有其他代码,大概3-5分钟吧
关联完成
Step4: 提交代码
直接按工具栏的提交按钮即可,这样会自动过滤掉我们设置的过滤文件。
点击提交代码按钮
VCS刷新,第一次较慢
虽然我是按照忽略文件必须在关联SVN前进行操作的,但是只成功了一次,提交时还是右build文件夹,不知道问什么。
.gitignore
Android Studio Git .gitignore规则不生效的原因
# OSX
*.DS_Store
# Gradle files
build/
.gradle/
*/build/
# IDEA
*.iml
.idea/.name
.idea/encodings.xml
.idea/inspectionProfiles/Project_Default.xml
.idea/inspectionProfiles/profiles_settings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/vcs.xml
.idea/workspace.xml
.idea/libraries
# Built application files
*.apk
*.ap_
# Files for the Dalvik VM
*.dex
# Java class files
*.class
# Generated files
antLauncher/bin
antLauncher/gen
# Local configuration file (sdk path, etc)
local.properties
# Log Files
*.log
规则网上很多,可以自己搜下,或者自己写一个也行。但是当我们提交的时候,却发现这些规则并没有失效,原因就是因为.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'