Monday, February 29, 2016

Hades Git .gitignore 文件不起作用?


我用Git 管理自己的Android project, 我已经忽略了一些系统自动生成的文件例如:

.gitignore

*.iml.gradle/local.properties.idea/misc.xml.idea/workspace.xml.idea/libraries.DS_Store/build/gradle

.idea/workspace.xml  是 AS  自动生成的
.idea/libraries  是依赖库



但是,我在push的时候。 还是把 build 文件夹给push 到了服务器,别人在pull 的时候,还是有我的build文件夹,这样就会有冲突。

我参考这篇bolg:http://t.hengwei.me/post/gitignore文件不起作用/#


根本原因




.gitignore文件只是ignore没有被staged(cached)文件,对于已经被staged文件,加入ignore文件时一定要先从staged移除。
下面这段话来自github: 因此,要想用gitignore忽略文件,必须先把它们从staged中移除

所以,解决方案:
1 创建  .gitignore file, 将所有的你需要忽略的文件,全部忽略掉。
 注意,这时候你有自己的依赖项目的话,也要在自己的依赖项目里,创建
 .gitignore file.

2 remove the git cached  file
git rm -r -f --cached ./
    --cached             only remove from the index
    -f, --force           override the up-to-date check
    -r                        allow recursive removal
   .  or  ./                 you want remove index directory

3  git  add .

4  git status   
you can look this file status

5  git push 

or 

git push --set-upstream master master


references:
http://stackoverflow.com/questions/11451535/gitignore-not-working

https://help.github.com/articles/ignoring-files/


http://t.hengwei.me/post/gitignore文件不起作用/#


No comments:

Post a Comment