【问题标题】:Untrack and stop tracking files in git在 git 中取消跟踪和停止跟踪文件
【发布时间】:2013-02-23 00:10:55
【问题描述】:

我有一个名为 objects 的深层子文件夹,其中包含名为 *.object 的文件,我不想被 git (Windows) 跟踪。

在 .gitignore 中,我尝试了各种组合(例如 **/objects/***/objects/* 等)但无济于事:每次,当我这样做时,git status 我看到了:

# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#       foo/src/objects/a.object
#       foo/src/objects/b.object

只有当我将*.object 添加到 .gitignore 时,文件才会从未跟踪的文件列表中消失。我的外卡有什么问题?

另外,什么时候需要git update-index,什么时候需要git rm --cached myfile

rm 有没有像git rm --cached **/foo/*.zip 这样的通配符功能?

更新:同样,将.gitignore 行添加到.gitignore (并不总是可取的,但仍然如此)没有效果。这是因为这些文件可能在过去被跟踪过吗?

【问题讨论】:

    标签: git


    【解决方案1】:

    好的,虽然通配符不起作用(显然在 Windows 中),但似乎可以删除整个文件夹:

    git rm -r --cached "path/to/foo/"
    

    我知道 --cached 只会取消阶段 - 您必须 git commit 才能将它们从存储库中删除。

    【讨论】:

    • 我想您也必须将文件/目录添加到 .gitignore。
    • 致命:pathspec 没有匹配任何文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-04-24
    • 2016-01-01
    • 2017-10-04
    • 2013-06-13
    • 2022-10-04
    • 2012-12-29
    • 1970-01-01
    相关资源
    最近更新 更多