git状态未显示我的更改文件

时间:2018-11-11 15:45:04

标签: node.js git github node-modules

我有一个Node.js项目,并导入了一些Node模块。 git_status命令显示我在项目中更改的文件。我还更改了node_modules目录下的一些文件,但未显示。 node_modules目录显示为未跟踪。

Untracked files:
  (use "git add <file>..." to include in what will be committed)

node_modules/
src/js/main-release-paths.json

我仅更改了node_modules中的一个文件:

node_modules/@oracle/grunt-oraclejet/node_modules/@oracle/oraclejet-tooling/lib/serve/connect.js

如何跟踪此文件?

5 个答案:

答案 0 :(得分:2)

假设您有git repo,请检查项目中的.gitignore文件。 .gitignore中的条目将被Git忽略,并且在执行git add时不会显示。

答案 1 :(得分:2)

您不应该将node_modules文件夹添加到git中,否则它将由npm命令管理。因此,请删除该文件夹并使用npm install命令。

在该文件夹中添加了某些内容后,如果您首先添加了一些文件,则显示为已更改。因此,我希望该文件夹位于您的.gitignore文件中并被忽略。您应该检查一下。

答案 2 :(得分:1)

添加要跟踪的文件

这很可能不是合适的方法(请参阅下文)。但是,如果您确实想要这样做:

为了跟踪嵌套在node_modules下的文件,您应该add目录。它的所有内容都将在git中上演

git add node_modules

推荐的方法

您可能不想跟踪node_modules目录的内容,因为:

  • 运行npm install将清除您的更改
  • 该目录中可能有成百上千个文件
  • 在git中跟踪package.jsonpackage-lock.json就足够了,然后使用npm install命令填充node_modules。

您不应直接修改位于node_modules目录中的文件。相反,请派生有问题的模块,对其进行修改,然后:

  • 要么在npm中发布您自己的版本
  • 或将其作为package.json(how-to)中的git存储库引用

然后,还将node_modules目录添加到.gitignore文件中。

答案 3 :(得分:0)

如果未跟踪整个目录,则git status将仅显示目录。由于它是未跟踪的,因此其中的已更改和未更改文件之间的git之间没有有意义的区别。

其他答案已经解决了跟踪node_modules并不是一个好主意。要跟踪对模块所做的更改,请考虑克隆模块存储库,并将其作为git子模块包含在内。

答案 4 :(得分:0)

它应该位于.gitignore文件中。应该将.gitignore文件提交到您的存储库中,以便与克隆该存储库的任何其他用户共享忽略规则。