前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android Studio中 .gitignore配置

Android Studio中 .gitignore配置

作者头像
xiangzhihong
发布2018-02-05 21:13:00
3.4K0
发布2018-02-05 21:13:00
举报
文章被收录于专栏:向治洪向治洪

前言

在用 Git 进行代码管理的过程中,我们会发现后添加进去的 .gitignore 文件,或者是中途修改了.gitignore 文件后,.gitignore 文件并没有生效,需要清楚.track缓存和强制.track来解决问题。如果我们在第一次提交的时候,忘记添加 .gitignore 文件或者在首次添加了 .gitignore 文件之后,又对 .gitignore 文件进行了修改,你会发现这两种情况下,.gitignore 文件是不生效的!

.gitignore 使用

我们第一次创建项目和上传项目的时候,是没有.gitignore文件的,我们需要自己配置,这里讲的是Android Studio中怎么使用.gitignore,关于第一次如何上传项目到gitlab,请参考gitlab入门篇

从以上提交的结果可以看出,没有添加 Android 工程应有的 .gitignore 文件,我们可以去https://github.com/github/gitignore下载一个,也可以拷贝之前的项目的.gitignore。然后我们将此 .gitignore 文件添加到gitlab仓库中。

注:如果你发现你添加了 .gitignore 文件之后,.gitignore 文件的变化没有被 track,那么你需要去 SourceTree 的全局 .gitignore_global 文件中查看 .gitignore 文件是不是被声明了不被 track的。

查看gitignore_global

一次选择工具–选项–git–Global Ignore List

接下来我们修改一个文件在尝试提交,就会发现没有之前那么多了。

从上图中我们可以看到 .java 文件编译产生的 .class 文件依然被 track。由于缓存的原因,当在提交之后添加 .gitignore 文件,或者在 .gitignore 文件中增加或者删除,都是无效的。

那么我们需要怎么做呢,我们需要清除track的缓存,首先我们可以通过 SourceTree 界面中的 Terminal 打开 Git 命令行终端。

输入清除命令

代码语言:javascript
复制
git rm -r –cached .

添加更改变化

代码语言:javascript
复制
git add .

备注:此命令,你可以通过 SourceTree 这样的可视化客户端来通过勾选 unstaged files 来操作。接下来输入命令:

代码语言:javascript
复制
git commit -m

操作完上面的步骤之后我们就会看到。

然后我们终于看到.gitignore 文件生效了。

其他

新增文件

实际应用中,我们往往随着业务的增加,会不断的增加文件,比如我们天津 .txt 文件,不让 .txt 文件被 track,我们还是按照刚才的步骤来操作即可!

我们就会发现现在sourcetree提交的时候就会忽略掉这种文件。

删除文件

比如,我们现在移除 .class 类型的文件,那么我们需要怎么做呢?

对于以上情况,我们需要用到强制提交的命令:

代码语言:javascript
复制
git add -f *.class

我们修改一下 .java 文件然后保存,看看产生的编译文件 .class 是否再次被 track,答案是肯定的!

说明:Git 代码管理中,我们在没有添加 .gitignore 文件的前提下提交了代码之后再提交 .gitignore 文件,或者是中途添加某一文件类型到 .gitignore 文件中,需要通过以下命令行的方式,让 .gitignore 文件生效:

代码语言:javascript
复制
git rm -r –cached .
git add .
git commit -m “Refresh adding .gitignore file.”

如果是中途从 .gitignore 文件中移除某一文件类型,想要这个文件类型重新被 track,需要通过以下命令行的方式,让 .gitignore 文件生效:

代码语言:javascript
复制
git add -f *.class
git commit -m "说明"

最后附上android 常见的一段.gitignore:

代码语言:javascript
复制
#built application files
*.apk
*.ap_


# files for the dex VM
*.dex


# Java class files
*.class


# generated files
bin/
gen/


# Local configuration file (sdk path, etc)
local.properties


# Windows thumbnail db
Thumbs.db


# OSX files
.DS_Store


# Eclipse project files
.classpath
.project


# Android Studio
.idea
#.idea/workspace.xml - remove # and delete .idea if it better suit your needs.
.gradle
build/


# Signing files
.signing/


# User-specific configurations
.idea/libraries/
.idea/workspace.xml
.idea/tasks.xml
.idea/.name
.idea/compiler.xml
.idea/copyright/profiles_settings.xml
.idea/encodings.xml
.idea/misc.xml
.idea/modules.xml
.idea/scopes/scope_settings.xml
.idea/vcs.xml
*.iml

参考:https://github.com/github/gitignore/blob/master/Android.gitignore

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-01-04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • .gitignore 使用
  • 其他
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档