git将文件或目录添加进了.gitignore文件,为什么不生效?

这篇具有很好参考价值的文章主要介绍了git将文件或目录添加进了.gitignore文件,为什么不生效?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

如题,之所以将文件添加进了.gitignore文件但不生效,是因为该文件已经被add进git仓库了,已经被git托管了,这时git就没法ignore了。解决办法是先用git rm --cached将这些文件从git仓库中取消托管并提交,然后.gitignore文件才会生效。详细见如下描述。

已经添加到git仓库中的文件,如果在.gitignore中加入忽略,是不会生效的,因为他们已经添加到git仓库中了。

要先git rm --cached在git仓库中删除这些文件,然后再用git commit 提交这个删除操作。然后,.gitignore中对这些文件的忽略才会生效。

注意:git rm --cached只是让git不再托管这些文件,一定要加上--cached选项,如果不加,git不仅删除此文件的托管关系,还会从硬盘上删除此文件,可怕~~

例:

mokar@ubuntu:~/temp/555$ tree
.
├── aa
│   └── aa.c
└── bb
    └── bb.c

此例中,aa bb文件夹下两个文件都已经git add了:

mokar@ubuntu:~/temp/555$ git status
On branch master
nothing to commit, working directory clean

此时编写.gitignore文件,将bb文件夹下的文件忽略掉,不会生效:

mokar@ubuntu:~/temp/555$ cat .gitignore
bb/

将ignore文件提交。
此时改动bb.c看看:

mokar@ubuntu:~/temp/555$ git status
On branch master
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   bb/bb.c

提示有改动,按理说,添加了ignore,应该不会提示的,但是因为我们把bb.c添加到git中了,所以git不会忽略bb.c的改动。
此时,我们用git rm --cached将bb.c从git中移除。
我们先要把bb.c的改动提交。然后再rm

mokar@ubuntu:~/temp/555$ ga   //git add .
mokar@ubuntu:~/temp/555$ gs   //git status
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        modified:   bb/bb.c

mokar@ubuntu:~/temp/555$ gcm    //git commit -m "sss"
[master 077628f] add bb.c
 1 file changed, 1 insertion(+)

git rm --cached:

mokar@ubuntu:~/temp/555$ git rm --cached bb/bb.c
rm 'bb/bb.c'
mokar@ubuntu:~/temp/555$ gs
On branch master
Changes to be committed:
  (use "git reset HEAD <file>..." to unstage)

        deleted:    bb/bb.c

此时提示bb/bb.c被删了。
我们再commit 一下:

mokar@ubuntu:~/temp/555$ git commit -m "ddd"
[master 0bac556] ddd
 1 file changed, 1 deletion(-)
 delete mode 100644 bb/bb.c
mokar@ubuntu:~/temp/555$ gs
On branch master
nothing to commit, working directory clean

然后我们再改一下bb/bb.c,就会发现不会再提示bb.c中有改动了。文章来源地址https://www.toymoban.com/news/detail-438836.html

到了这里,关于git将文件或目录添加进了.gitignore文件,为什么不生效?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Sourcetree软件中添加git的.gitignore文件忽略某些文件提交

    有时候我们本地的一些文件修改或变动不需要提交到远程git仓库,那么就可以设置提交时忽略这些文件,比如application.properties文件、log和.history文件夹下的文件等。在Sourcetree软件中的操作步骤如下: 在未暂存文件区域,选择文件右键,然后选“忽略”一项,弹出忽略窗口 在

    2024年02月13日
    浏览(40)
  • Oracle21C:Windows版本的安装、卸载、环境变量配置、避坑指南|ORA-12514|为什么安装目录没有bin目录

    安装Oracle21C(点击下载),因不得其法,各种报错,导致不能正常使用Oracle。  提示:版本是Oracle21C, 其他版本可能存在差异, 目前官网已更新到Oracle23C (进官网后,向下滚动,可下载其他版本)。  1)Oracle下载地址:官网下载页面 2)navecat下载地址:navecate 3)sqlplus下载地

    2024年01月25日
    浏览(36)
  • git配置修改.gitignore不上传node_modules文件目录到gitee码云

    如果创建的vue或者uni项目,自动会有依赖包node_modules,如果不去设置.gitignore,那么会默认将该文件夹下面所有的文件进行上传,这样整个包非常大非常碎,别人使用起来很麻烦,正常来讲只要把主要文件下载下来,其他人只需要npm i一下就行了,那么怎么解决那。 第一行就是

    2024年02月13日
    浏览(42)
  • 为什么除了null外,任何元素不得添加到上<? extends T>

    使用泛型类型参数限定为 ? extends T 时,我们无法确定实际类型参数是什么。这意味着我们只能安全地读取该类型的数据,但不能写入除了 null 以外的任何元素。 下面是一个示例代码,说明为什么无法向 ? extends T 类型的集合中添加任何元素: 在上面的示例中,我们有一个 i

    2024年02月12日
    浏览(30)
  • 【GIT问题解决】---- 在【.gitignore】中添加了忽略文件或文件夹后不生效

    1. 出现问题 在已经提交过的 GIT 管理的项目中,在 .gitignore 文件中新增一些忽略的文件或者文件夹,或者直接新建 .gitignore 文件之后,新增的内容不生效。 2. 实例截图 3. 实例描述 lifecycle.js 文件已新增到 .gitignore 文件中,但是 lifecycle.js 文件修改的时候依然会上传; yarn.loc

    2024年02月04日
    浏览(41)
  • 为什么 Facebook 不使用 Git?

    在编程的世界里,Git 就像水一样常见,以至于我们认为它是创建和管理代码更改的唯一可行的工具。 前 Facebook 员工,2024 年 我致力于构建 Graphite,它从根本上受到 Facebook 内部工具的启发。当我开始与朋友创建一家初创公司时,我从未听说过 Mercurial - 尽管我对开发工具的所

    2024年04月27日
    浏览(22)
  • 为什么Git需要配置ssh密钥,怎么配置?

    如果不设置 ssh 公钥每次提交代码就要输入你的帐号密码。如果设置了公钥之后你的机器和 github或者gitee 通信的时候, github或者gitee可以通过公钥识别出你是可信赖用户,这样就不需要每次 git 和 github或者gitee 通信的时候都要输入密码了。 SSH是一种网络协议,用于计算机之间

    2024年02月08日
    浏览(32)
  • 【PDF密码】PDF文件为什么无法修改?为什么PDF文档不支持编辑?

    pdf文件大家应该都经常接触,但是不知道大家会遇到这种情况:有些PDF文件打开之后无法编辑?是什么原因呢?今天我们来分析一下都是那些原因导致的。 首先我们可以考虑一下,PDF文件中的内容是否是图片,如果确认是图片文件,那么我们想要编辑,就可以先使用PDF编辑器

    2024年01月22日
    浏览(49)
  • Git企业开发控制理论和实操-从入门到深入(一)|为什么需要Git|Git的安装

    那么这里博主先安利一些干货满满的专栏了! 首先是博主的高质量博客的汇总,这个专栏里面的博客,都是博主最最用心写的一部分,干货满满,希望对大家有帮助。 高质量博客汇总 https://blog.csdn.net/yu_cblog/category_12379430.html 然后就是博主最近最花信息的一个专栏《Git企业开

    2024年02月11日
    浏览(31)
  • 【PDF密码】PDF文件不能打印,为什么?

    正常的PDF文件是可以打印的,如果PDF文件打开之后发现文件不能打印,我们需要先查看一下自己的打印机是否能够正常运行,如果打印机是正常的,我们再查看一下,文件中的打印功能按钮是否是灰色的状态。 如果PDF中的大多数功能按钮以及打印按钮都是灰色的状态,那就证

    2024年02月13日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包