问题描述:以android项目为例,该文件使用git管理,但未创建过忽略文件。另外git使用的是SourceTree三方工具。
- 手动创建
.gitignore
文件并添加内容如下:
- 给
MainActivity.java
文件的某行代码添加备注修改1
。
- 在sourceTree中,可以看到有两处文件被改动,但是
.idea
下的workspace.xml
,但是整个.idea
文件夹已经被添加为忽略文件,不应该在git上被记录。
问题原因
- 该项目使用git管理,但没创建过忽略文件。这种情况下:按照git的特性,项目里面的所有文件就会被git记录,10个文件被改动,就会有10个文件被记录,即使该你创建了忽略文件将其中一个文件设置为忽略,也会被记录。
在对git未进行处理的情况下,你无论怎么创建忽略文件,设置忽略的内容都不会生效。
解决办法:
-
步骤1:进入到安卓项目根目录
步骤2:解除git对工作区和暂存区的文件的追踪关系 (
不会删掉这个文件,类似只是删除了引用关系
)
git rm -r --cached .
- 步骤3:将本次修改的内容添加到暂存区
git add .
- 步骤4:将本次修改的内容提交到本地服务器并备注
git commit -m '清空缓存操作'
- 步骤5:使用sourceTree可以看到经过上面几个步骤之后,有好多被删除的文件,点提交就行。
- 步骤6:再次修改
MainActivity.java
文件
-
步骤7:这次只记录了一个文件被改动。OK,解决了。