为了账号安全,请及时绑定邮箱和手机立即绑定

如何让Git“忘记”一个被跟踪但现在位于.gitignore的文件?

如何让Git“忘记”一个被跟踪但现在位于.gitignore的文件?

Git
阿晨1998 2019-05-23 13:31:17
如何让Git“忘记”一个被跟踪但现在位于.gitignore的文件?有一个文件被跟踪git,但现在该文件在.gitignore列表中。但是,该文件在git status编辑后会一直显示。你怎么强迫git完全忘掉它?
查看完整描述

4 回答

?
慕慕森

TA贡献1856条经验 获得超17个赞

.gitignore将阻止未跟踪文件被添加(没有add -f)到由git跟踪的文件集,但是git将继续跟踪已经被跟踪的任何文件。

要停止跟踪文件,您需要将其从索引中删除。这可以通过此命令实现。

git rm --cached <file>

从头修订中删除文件将在下次提交时发生。

警告:虽然这不会从本地删除物理文件,但它将在下一次从其他开发人员计算机中删除文件git pull


查看完整回答
反对 回复 2019-05-23
?
墨色风雨

TA贡献1853条经验 获得超6个赞

下面的一系列命令将从Git索引中删除所有项目(而不是从工作目录或本地存储库中删除),然后更新Git索引,同时遵守git忽略。PS。Index =缓存

第一:

git rm -r --cached . git add .

然后:

git commit -am "Remove ignored files"


查看完整回答
反对 回复 2019-05-23
?
慕无忌1623718

TA贡献1744条经验 获得超4个赞

我总是使用此命令删除那些未跟踪的文件。单行,Unix风格,干净的输出:

git ls-files --ignored --exclude-standard | sed 's/.*/"&"/' | xargs git rm -r --cached

它列出了所有被忽略的文件,用引用的行替换每个输出行,而不是处理内部有空格的路径,并将所有内容传递git rm -r --cached给索引中的路径/文件/目录。


查看完整回答
反对 回复 2019-05-23
  • 4 回答
  • 0 关注
  • 1073 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信