由于某种原因,我的.gitignore文件无法正常工作,而且没有多少谷歌搜索能够修复它
*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
它在主目录中,这是我的git repo。我运行Git 1.8.4.2,因为我使用的是运行OSX 10.8.6的MacBook。
由于某种原因,我的.gitignore文件无法正常工作,而且没有多少谷歌搜索能够修复它
*.apk
*.ap_
*.dex
*.class
**/bin/
**/gen/
.gradle/
build/
local.properties
**/proguard/
*.log
它在主目录中,这是我的git repo。我运行Git 1.8.4.2,因为我使用的是运行OSX 10.8.6的MacBook。
当前回答
@Ahmad的答案是有效的,但如果你只是想忽略一个特定文件或几个文件,请按照@Nicolas的建议做
步骤1
将文件名添加到.gitignore文件
步骤2
[从git缓存中删除文件名(文件路径)
git rm—缓存的文件名
步骤3
提交更改git添加文件名
gitcommit-m“将文件名添加到.gitignore”
它将保持您的git历史记录干净,因为如果您执行git rm-r--cached。并将所有文件加回去提交,这将污染您的git历史记录(这将显示您在一次提交时添加了大量文件)。我不确定我表达的想法是否正确,但希望您明白这一点
其他回答
我用一些东西为我生成了common.gitignore,我遇到了这个问题。读了@Ozesh的答案后,我在VS代码中打开了它,因为它在右下角有一个很好的指示器,显示了行尾的类型。这是低频,所以我按照建议转换为CRLF,但没有骰子。
然后我看了看行尾,发现它是用UTF16保存的。所以我使用UTF8编码一个voila重新保存,它起了作用。我认为CRLF并不重要,所以我把它改回LF以确保它仍然有效。
当然,这不是OP的问题,因为他已经提交了文件,所以它们已经被索引了,但我想我会分享一下,以防其他人遇到这个问题。
太长,读不下去了如果你还没有提交文件,并且.gitignore仍然不受尊重,那么检查文件编码,确保其UTF8,如果这不起作用,那么可以尝试使用换行符。
有人可能会觉得这很有用。我的问题是格式。由于某种原因,在没有进行任何更改的情况下,git不喜欢文件内容的格式。.gitignore中的目录如下:
directory1/*
directory2/*
directory3/*
当我将格式更改为
directory1/
directory2/
directory3/
目录再次被忽略,我唯一需要添加/commit/push的就是.gitignore。
在我的例子中,.gitignore行末尾的空白是原因。因此,请注意.gitignore中的空格!
就我而言
我使用gitbash编写了以下命令:
echo[Enter_your_file_name.extension]>>.git忽略
然后执行推入式回购,并且工作正常
此外,评论必须在自己的行上。它们不能放在入口之后。所以这行不通:
/node_modules # DON'T COMMENT HERE (since nullifies entire line)
但这将奏效:
# fine to comment here
/node_modules