忽略文件夹和在git中取消跟踪的区别是什么?我需要从我的git存储库中删除一些文件夹,我正在使用带有git插件的Netbeans,并错误地将build、dist和nbproject文件夹放置在我的存储库中,现在我需要删除这些文件夹。
如果你在代码库中创建了一个名为 .gitignore 的文件,git 在寻找要提交的文件时将使用它的规则。git 不会忽略之前已经跟踪(即已经在代码库中的)的文件,除非在该文件中添加了忽略规则并将其从代码库中删除。
git rm --cached filename
该命令将停止跟踪,但保留文件不变。
我假设你所说的“ignore”是指.gitignore
,这是一个特殊文件,你可以创建它以让git
读取并决定一组要忽略的文件和/或目录。你可以覆盖它,但通常这些文件将在任何git
操作中被隐藏。
Git
中的“未跟踪”仅意味着你尚未将该文件添加到仓库中。
如果一个文件未跟踪,并且被.gitignore
排除了,那么你甚至无法通过git status
或其他任何git
命令查看它。
为解决你当前的问题,即你已经意外添加了不想跟踪的文件并希望将其排除,首先将这些文件夹添加到你的.gitignore
中,然后尝试这个命令:
git rm -r --cached "path/to/ignored/directories"
这将从您的存储库中删除不需要的目录,但不会从本地工作副本中删除它们。
您应该使用untrack而不是gitignore,因为gitignore不会影响当前正在跟踪的文件。http://git-scm.com/docs/gitignore