如何在Android项目中忽略特定的Java文件、任意文件夹或XML文件?需要使用gitignore。

4

我有一个在Bitbucket上的项目,我想让我的实习生访问它。我想忽略某些Java文件和调试文件夹中的某些文件。

我尝试使用以下方法,在我的gitignore文件中添加此行:

/app/src/main/java/com/example/amanv/emulatordetection/NewActivity.class

然而,这并没有奏效。
我还尝试了以下方法:
/NewActivity.class

也没有成功。

我该怎么做呢?

3个回答

7

如果你曾经提交过某些文件,那么你不能忽略它们,你需要从git中删除这些文件。

  1. 首先,进入到文件目录。

  2. 现在输入以下命令以将文件从git中删除:

    git rm --cached [filename]

  3. 现在该文件已从你的分支中删除,你需要将文件名添加到你的.gitignore文件中。

    filename.java(请注意,文件类型应该是java)

  4. 之后,将文件加入到分支中并提交。最后推送,你会发现这些文件已被忽略。

    Check how i did...


3
请注意,使用 .gitignore 文件忽略文件的路径是相对于您的 repo 中 .gitignore 文件的路径。
因此:
/NewActivity.class

意思是:在.gitignore文件所在的目录中忽略NewActivity.class文件,但不包括子目录
NewActivity.class

意思是:忽略与.gitignore文件在同一目录及其所有子目录中的NewActivity.class文件。

如果你想使用: /app/src/main/java/com/example/amanv/emulatordetection/NewActivity.class 那么你的.gitignore文件必须位于app的父目录中,当然这个父目录也必须是你的代码库的一部分。


假设我在debug文件夹中有一个strings.xml文件,并且我想将其添加到gitignore中。我可以在gitignore文件中添加strings.xml的路径吗? - Aman Verma
1
这取决于您的文件系统中.gitignore文件的位置。如果您的.gitignoredebug在同一目录中,则可以添加/debug/strings.xml。这样只会忽略调试文件夹中的strings.xml文件。您还可以仅添加strings.xml,这样将忽略debug和其他子目录中命名为strings.xml的所有文件。您还可以在debug中创建一个本地的.gitignore文件,并添加/strings.xml,以仅在debug中忽略该文件。 - Wizzard
谢谢。我还有一个疑问,我的应用文件夹里有一个google-services.json文件,而在debug文件夹里也有一个,是为了不同的构建。我想忽略掉应用文件夹里的那个,但不是debug文件夹里的那个。所以我在debug文件夹里创建了一个新的.gitignore文件,并且什么都没有写,在主要的.gitignore文件中我写了google-services.json。这样可以吗? - Aman Verma
不,/ 的意思是只有应用程序文件夹中的文件将被忽略。 - Wizzard
它不起作用。我已经在app文件夹中的.gitignore中添加了/google-services.json,但它并没有从两个文件夹中删除该文件。 - Aman Verma
显示剩余3条评论

1
我认为扩展名应该是.java而不是.class。
所以,不要使用这个:
/app/src/main/java/com/example/amanv/emulatordetection/NewActivity.class

应该是这样的。
/app/src/main/java/com/example/amanv/emulatordetection/NewActivity.java

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接