由于某种原因,我的.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。
当前回答
您的版本控制中的文件/文件夹不会因为您将它们添加到.gitignore中而自行删除。它们已经在存储库中,您必须删除它们。你可以这样做:
记住,在你做这件事之前,要把你改变的一切都提交给别人!
git rm -rf --cached .
git add .
这将从存储库中删除所有文件并将其添加回(这一次遵循.gitignore中的规则)。
其他回答
这3个命令将解决问题,您的.gitignore将工作:
git rm -r --cached .
git add .
git commit -m 'Remove ignored files'
现在检查状态:
git status
您的版本控制中的文件/文件夹不会因为您将它们添加到.gitignore中而自行删除。它们已经在存储库中,您必须删除它们。你可以这样做:
记住,在你做这件事之前,要把你改变的一切都提交给别人!
git rm -rf --cached .
git add .
这将从存储库中删除所有文件并将其添加回(这一次遵循.gitignore中的规则)。
要取消跟踪已添加/初始化到存储库的单个文件,即停止跟踪该文件,但不从系统中删除它,请使用:git rm--缓存文件名
要取消跟踪.gitignore中的每个文件,请执行以下操作:
首先提交所有未完成的代码更改,然后运行以下命令:
git rm -r --cached .
这将从索引(临时区域)中删除所有更改的文件,然后只需运行:
git add .
提交:
git commit -m ".gitignore is now working"
@Ahmad的答案是有效的,但如果你只是想忽略一个特定文件或几个文件,请按照@Nicolas的建议做
步骤1
将文件名添加到.gitignore文件
步骤2
[从git缓存中删除文件名(文件路径)
git rm—缓存的文件名
步骤3
提交更改git添加文件名
gitcommit-m“将文件名添加到.gitignore”
它将保持您的git历史记录干净,因为如果您执行git rm-r--cached。并将所有文件加回去提交,这将污染您的git历史记录(这将显示您在一次提交时添加了大量文件)。我不确定我表达的想法是否正确,但希望您明白这一点
就我而言
我使用gitbash编写了以下命令:
echo[Enter_your_file_name.extension]>>.git忽略
然后执行推入式回购,并且工作正常