通过GIT取消某个文件夹

时间:2015-12-21 18:32:20

标签: git

我不想跟踪account文件夹

中的所有文件

我已尝试将/public/images/account/*添加到我的.gitignore文件

每一次,我都git status,我仍然

modified: public/images/account/1001/logo.png

我在这里做错了什么?

我还尝试将/public/images/account/*/logo.png添加到.gitignore

2 个答案:

答案 0 :(得分:1)

当您被告知这些文件为modified时,这意味着它们已添加到回购邮件中,您还需要forget使用git rm <已添加的文件/ p>

答案 1 :(得分:0)

添加文件(git add)后,.gitignore对其无效。

从缓存中删除文件(git rm --cached)会使其在.gitignore中提及时被正确忽略:

git rm --cached <files_to_remove>
git commit

但是,文件删除操作由Git存储,并且每次重播相应的提交时都会应用;并且该文件仍将出现在先前的提交中。对于在合并,rebase,cherry-pick等期间从未添加过的文件(例如IDE用户特定的配置文件),这通常是一个问题。因此,如果修改历史记录是可以接受的,那么以下解决方案更好:

# This action modifies the Git history! All commits previously containing the unwanted files will be rewritten.
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <files_to_remove>' HEAD