我的.gitignore
文件由于某种原因无法正常工作,并且没有任何谷歌搜索能够修复它。这是我有的:
*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
它位于master
目录中,这是我的git repo。我正在运行Git 1.8.4.2因为我在MacBook上运行OSX 10.8.6。
版本控制中的文件/文件夹不仅仅是因为您将它们添加到.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 Code中并不明显。
在尝试按照这个问题的答案(可能是因为我必须在视觉工作室项目中做到这一点)之后,我想找到更容易的路径是
.gitignore
以排除我暂时移动的文件我发现这是最直接的方式(至少在视觉工作室,或者我会假设其他基于IDE的环境,如Android Studio),而不是意外地用一个非常普遍的git rm -rf --cached .
射击自己的脚我正在研究的视觉工作室项目没有加载。
在我看来,.gitignore行末尾的空格是原因。所以要注意.gitignore中的空白!
我解决了我的问题,做了以下事情:
首先,我是一个Windows用户,但我遇到了类似的问题。所以,我在这里发布我的解决方案。
有一个简单的原因,为什么有时.gitignore不会像它应该的那样工作。这是由于EOL转换行为。
这是一个快速解决方案
编辑> EOL转换> Windows格式>保存
你可以责怪你的文本编辑器设置。
例如:
由于我是Windows开发人员,我通常使用Notepad ++来编辑我的文本,而不像Vim用户。
所以当我使用Notepad ++打开我的.gitignore文件时,它看起来像这样:
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
##
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# See https://help.github.com/ignore-files/ for more about ignoring files.
# User-specific files
*.suo
*.user
*.userosscache
*.sln.docstates
*.dll
*.force
# User-specific files (MonoDevelop/Xamarin Studio)
*.userprefs
如果我使用默认记事本打开相同的文件,这就是我得到的
## Ignore Visual Studio temporary files, build results, and ## files generated by popular Visual Studio add-ons. ## ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore # See https://help.github.com/ignore-files/ for more about ignoring files. # User-specific files *.suo *.user *.userosscache
所以,你可能已经通过查看输出猜测了。 .gitignore中的所有内容都变成了一个内容,因为在开始时有一个##,就好像所有内容都被评论一样。
解决这个问题的方法很简单:只需使用Notepad ++打开.gitignore文件,然后执行以下操作
编辑> EOL转换> Windows格式>保存
下次使用Windows默认记事本打开同一文件时,所有内容都应正确格式化。试一试,看看这是否适合你。
git reset --hard
适合任何人吗?我不是说这是一个很好的解决方案,它似乎只是我第一次尝试工作。