我有一个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
如何跟踪此文件?
答案 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
将清除您的更改package.json
和package-lock.json
就足够了,然后使用npm install
命令填充node_modules。您不应直接修改位于node_modules
目录中的文件。相反,请派生有问题的模块,对其进行修改,然后:
然后,还将node_modules
目录添加到.gitignore
文件中。
答案 3 :(得分:0)
如果未跟踪整个目录,则git status
将仅显示目录。由于它是未跟踪的,因此其中的已更改和未更改文件之间的git之间没有有意义的区别。
其他答案已经解决了跟踪node_modules
并不是一个好主意。要跟踪对模块所做的更改,请考虑克隆模块存储库,并将其作为git子模块包含在内。
答案 4 :(得分:0)
它应该位于.gitignore文件中。应该将.gitignore文件提交到您的存储库中,以便与克隆该存储库的任何其他用户共享忽略规则。