如何使gitignore忽略repo中的一些文件夹

如何使gitignore忽略repo中的一些文件夹,git,gitignore,Git,Gitignore,关于SO有很多类似的话题,我读了很多,但问题仍然存在 我希望能够把一个文件夹或文件名放在gitignore中,这样它就不会出现在在线回购中,而是保持在本地 我所做的: 有一个包含本地文件的文件夹。我使用VSC创建了一个新的repo。我可以在本地添加和删除文件,提交,它会很好地工作-更新文件和文件结构 然后我添加了gitignore,希望停止跟踪工作目录中的一些杂项文件夹,但在添加上述文件夹后,它没有忽略它们。 有人建议尝试git rm-r--catch.,然后git add.返回文件,提交,它就

关于SO有很多类似的话题,我读了很多,但问题仍然存在

我希望能够把一个文件夹或文件名放在gitignore中,这样它就不会出现在在线回购中,而是保持在本地

我所做的:

  • 有一个包含本地文件的文件夹。我使用VSC创建了一个新的repo。我可以在本地添加和删除文件,提交,它会很好地工作-更新文件和文件结构
  • 然后我添加了gitignore,希望停止跟踪工作目录中的一些杂项文件夹,但在添加上述文件夹后,它没有忽略它们。 有人建议尝试
    git rm-r--catch.
    ,然后
    git add.
    返回文件,提交,它就会工作。事实并非如此
  • 我试着
    git rm-r--catch
    。奇怪的是,它只适用于某些文件夹。更不用说我必须为许多文件夹做这件事
  • 最后,作为一个最终的解决方案(对我来说,我疯了),我只是在本地删除了回购协议中的所有内容,只留下自述和gitignore。因此,我们建议不能简单地忽略/停止跟踪已经在回购中的文件,您必须进行一些重新索引,但问题是,如果该文件是在gitignore之后添加的,您可以忽略它,而无需大量使用bash。 在这里,我只是在本地将所有需要的文件添加回repo,其中只有readme和gitignore。然后我开始向gitignore添加文件,结果发现它不起作用。或者我应该说有些文件夹会被忽略,有些不会(gitignore所在的工作目录中的顶级lvl文件夹)。有文件的文件夹,里面没有更多的文件或类似的东西
  • 我试过:
    文件夹名
    文件夹名
    文件夹名/
    文件夹名/**
    。从3个文件夹中,只有1个将被索引

    如果我尝试创建一个带有随机名称的新文件夹并添加它以忽略该文件,它将被忽略

    在将文件复制/粘贴回本地repo文件夹之前,我删除了其中隐藏的git文件夹

    这是我的结构图 我只是想指出,我以前很随意地使用过git,更重要的是为了适应它,而且一切都很好。下面是一个例子,我只需要创建一个项目,花一段时间完成它,然后添加gitignore,一切都会顺利进行

    非常感谢您的帮助或建议。我可以重做整件事,也可以做一些抨击。在这一点上我真的不在乎


    提前感谢。

    中添加筛选器。gitignore
    不会删除匹配的文件/目录。 它将使git在任何非特定命令上忽略它<代码>rm包含命令

    因此,请分多个步骤进行:

    • 删除(如果需要保留副本)所有要忽略的文件夹
    • 在“删除无用文件夹”提交中提交更改
    • 编辑
      .gitignore
      为要忽略的文件夹添加过滤器
    • 在“Update.gitignore文件”中提交更改
    • 还原被忽略的文件夹(如果有)

    这是次优的,但此时此刻它起了作用:

    • 从git中删除存储库
    • 创建一个新文件夹
    • 使用此文件夹创建回购协议
    • 在该文件夹中创建gitignore,提交
    • 将旧文件放回新文件夹,确保没有旧的隐藏git文件潜入
    • gitignore按预期工作

    你确定它是
    git rm-r--catch
    而不是
    git rm-r--cached
    ?请回答你的问题,并显示一个目录结构和一个
    .gitignore
    ,它不起作用以及以何种方式不起作用。caramba-这是我的打字错误,它是--缓存索引在使用您的解决方案后,它确实忽略了我想要删除的文件夹,谢谢。但我在寻找一个更持久的解决办法。是什么导致了这个问题?我不想每次需要隐藏文件夹时都这样做。当我刚开始使用它的时候,我常常忽略左右的文件和文件夹,这一切都很好。