zoukankan      html  css  js  c++  java
  • git把某个文件去除版本控制

    谢谢@jessicway 同学的提醒。我之前没考虑只需要删除服务器上已提交的文件,但是本地不想删除的情况。
    我们先看看 git rm 命令的说明
    这里写图片描述
    可以看到其实加上 --cached 参数就可以实现只去除版本控制而不删除本地文件的功能了。即 git rm --cached file


    首先说说 gitignore 文件的作用:

    该文件只能作用于 Untracked Files,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件

    因此,有时候我们一开始在上传项目的时候把某些不必要的文件也添加进了git的版本控制。此时 gitignore 对这些文件就不起作用了。因此我们要先从 git 里面把这些文件 untracked ,然后修改 gitignore ,最后提交。

    具体操作:

    • 从 Git 的数据库中删除对于该文件的追踪;
    git rm -r --cached loggers  # -r 是允许递归删除,当要删除的是文件夹的时候有用
    • 1

    注意:这里 --cached 的意思是只去除版本控制而不删除本地文件,如果不写的话会把本地文件也删掉。所以要不要加 --cached 参数就看自己需要了。

    • 修改 .gitignore, 把对应的规则写入 .gitignore,让忽略真正生效;

    • 提交+推送。就是 add commit push 啦。


    PS:关于 .gitignore 文件的编写大家可以参考下面两篇文章:
    Git 的 .gitignore 配置
    Git之忽略文件(ignore file)

  • 相关阅读:
    linux初识1
    linux初识
    练习题
    linux 创建虚拟机常见错误
    DevGridControl中GridView排序问题
    小工具:火车票查询
    小工具:邮件发送
    小工具:截图&简单图像处理
    Winform 控件的入门级使用(一)
    Winform & Devexpress Chart使用入门
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15454379.html
Copyright © 2011-2022 走看看