.gitignore怎么忽略已经被版本控制的文件

·  阅读 69

场景

项目有一个视频文件(video/a.mp4),文件比较大,前期由于忘记添加到.gitignore,导致不小心加入了版本库,这时候如果推送到远程仓库,其它成员拉取时就会特别缓慢

原因分析

文件已经被版本控制了(即已git add + git commit),这个时候如果直接给.gitignore添加文件是不会生效的,因为.gitignore是用来控制尚未被纳入版本控制的文件

解决方案

  1. 删除暂存区文件:git rm --cached video/a.mp4

    该操作并不会删除工作区中的文件(项目中的video/a.mp4还在),只是从暂存区中将文件删除,且会在暂存区中生成一个删除了该文件的记录

  2. 将该文件写入.gitignore

        # 过滤目录
        node_modules
        dist
        
        # 过滤文件
        .vscode/*
        video/*.mp4
    复制代码
  3. 提交修改:git commit

        git commit -m "忽略已经被版本控制的文件a.mp4"
    复制代码

如果已经推送到远程仓库,再执行git push命令即可

PS: 如果拥有远程仓库的权限,可直接在远程仓库删除文件,最终效果跟上面一至

分类:
前端
标签:
收藏成功!
已添加到「」, 点击更改