Gitignore不工作
我的.gitignore
文件由于某种原因无法正常工作,并且没有任何Googlesearchfunction能够修复它。 这是我有什么:
*.apk *.ap_ *.dex *.class **/bin/ **/gen/ .gradle/ build/ local.properties **/proguard/ *.log
它在目录master
,这是我的git回购。 我正在运行Git 1.8.4.2,因为我在运行OSX 10.8.6的MacBook上。
版本控制中的文件/文件夹不会仅仅因为您现在将它们添加到.gitignore
而删除它们。 他们已经在存储库中。 你必须删除它们。 你可以这样做:
git rm -rf --cached . git add .
这将删除存储库中的所有文件并将其添加回来(这次请遵守.gitignore
的规则)。
请记住,在做这件事之前,先做一切你已经改变的事。
要查找已经添加/初始化到您的存储库的单个文件,即停止跟踪文件,但不能将其从系统中删除,请使用: git rm --cached filename
要解开现在在.gitignore
每个文件:
首先提交任何未完成的代码更改,然后运行以下命令:
git rm -r --cached .
这将从索引(暂存区域)中删除所有已更改的文件,然后运行:
git add .
承诺:
git commit -m ".gitignore is now working"
在尝试跟踪这个问题的答案(也许是因为我必须在Visual studio项目中这样做)之后,find了一点兔子洞,我发现更简单的方法是
-
剪切并粘贴不再想要追踪到临时位置的文件
-
提交这些文件的“删除”
-
提交
.gitignore
的修改以排除我暂时移动的文件 -
将文件移回文件夹。
我发现这是最直接的方式(至less在一个视觉工作室,或者我会假设像Android Studio这样的基于IDE的其他基于环境的环境),而不会意外地用一个相当普遍的git rm -rf --cached .
拍摄自己git rm -rf --cached .
之后,我正在处理的视觉工作室项目没有加载。
在我的情况下,gitignore行尾的空格是原因。 所以请注意.gitignore中的空格!
git reset --hard
为任何人工作? 我不是说这是一个很好的解决scheme,它似乎只是第一次尝试。
在我的情况下,这是一个空格在文件的开头,清楚地显示当我在记事本中打开文件,在Visual Studio代码中不明显。