【问题标题】:Removing untracked files删除未跟踪的文件
【发布时间】:2016-05-09 06:32:26
【问题描述】:

我正在尝试从 git 状态列表中删除 node_modules 未跟踪的文件,但将它们保留在本地存储库中。

使用:

  • Visual Studio 代码 1.0.0
  • git 版本 2.8.2.windows.1
  • Windows 7 64 位

我试过运行
git rm -r --cached node_modules
但我收到错误fatal: pathspec 'node_modules' did not match any files

git status 返回:

在分支主
未跟踪的文件:
(使用“git add ...”来包含将要提交的内容)

   node_modules/

没有添加到提交但存在未跟踪的文件(使用“git add”进行跟踪)

编辑:

问题已解决。作为参考,我正在使用 gitignore: https://www.gitignore.io/api/visualstudiocode,visualstudio,node,windows,bower

【问题讨论】:

  • 没有被跟踪,所以git rm没有效果。将 node_modules 放在你的 .gitignore 中。

标签: node.js git npm visual-studio-code


【解决方案1】:

只需将隐藏文件 .gitignore 添加到您的根文件夹并将 node_modules 添加到该文件

【讨论】:

  • 已经有了,从 gitignore.io 生成,并列出了 node_modules。
  • 您可以在 .gitignore 中添加您想保留在本地系统中但不想提交的任何文件
  • 我的错,我将文件命名为 .ignore 而不是 .gitignore
【解决方案2】:

注意事项:

  • 如果你想确定一个元素是否被忽略:

    git check-ignore -v -- afileOrFolder
    
  • .gitignore-generated file from gitignore.io 并不总是在要忽略的文件夹末尾添加尾随“/
    添加尾随的“/”被认为是一种恶作剧。

应该是:

# Dependency directories
node_modules/
jspm_packages/

不是:

# Dependency directories
node_modules
jspm_packages

来自 gitignore 手册页:

如果模式以斜杠结尾,它只会找到与目录的匹配项。
换句话说,foo/ 将匹配目录 foo 和它下面的路径,但不会匹配常规文件或符号链接 foo(这与 pathspec 在 Git 中的一般工作方式一致)。

【讨论】:

    猜你喜欢
    • 2018-07-21
    • 1970-01-01
    • 2019-01-29
    • 2014-02-12
    • 2016-02-27
    • 2017-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多