git ignore和untrack之间的区别

时间:2014-02-24 14:48:46

标签: git gitignore

忽略文件夹和git中的untrack有什么区别?我需要从我的git存储库中删除一些文件夹,我使用git插件在Netbeans中工作,并错误地将我的存储库中的build,dist和nbproject文件夹放入,现在我需要删除这些文件夹。

3 个答案:

答案 0 :(得分:19)

如果在名为.gitignore的存储库中创建文件,git将在查看要提交的文件时使用其规则。在将规则添加到此文件中以忽略它之前,git不会忽略已经跟踪过的文件(即在repo中)。必须使用

取消跟踪文件(从回购中删除)
git rm --cached filename

该命令将停止跟踪,但保持文件完好无损。

答案 1 :(得分:12)

通过“忽略”我假设您的意思是.gitignore,这是一个特殊的文件,您可以使git读取该文件以确定要忽略的一组文件和/或目录。您可以覆盖它,但通常这些文件将在任何git操作中隐藏。

git中的

“未跟踪”仅表示您尚未将文件添加到存储库中。

如果文件未被跟踪并被.gitignore排除,您甚至无法通过git status或任何其他git命令看到它。

要解决当前问题,您已经意外添加了不想跟踪并且想要忽略的文件,请先将这些文件夹添加到.gitignore,然后尝试以下命令:

git rm -r --cached "path/to/ignored/directories"

这将从您的仓库中删除不需要的目录,但不会从您的本地工作副本中删除它们。

答案 2 :(得分:1)

您将需要使用untrack而不是gitignore,因为gitignore不会影响当前正在跟踪的文件。 http://git-scm.com/docs/gitignore