git status 没有显示我更改的文件
Posted
技术标签:
【中文标题】git status 没有显示我更改的文件【英文标题】:git status is not showing my changed files 【发布时间】:2019-04-14 11:29:21 【问题描述】:我有一个 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
如何跟踪这个文件?
【问题讨论】:
我真的不明白这个问题...... 【参考方案1】:您不应该将 node_modules
文件夹添加到 git,然后通过 npm
命令对其进行管理。所以删除该文件夹并使用npm install
命令。
当您在该文件夹中添加某些内容时,如果您首先添加了一些文件,它会显示为已更改。所以我跳那个文件夹在你的.gitignore
文件中并被忽略。你应该检查一下。
【讨论】:
【参考方案2】:假设你有 git repo,请检查你项目中的 .gitignore 文件。 .gitignore 中的条目将被 Git 忽略,并且不会在您执行 git add 时显示。
【讨论】:
... 但是提问者确实在 git status 中看到了它,所以它显然没有被忽略。【参考方案3】:添加要跟踪的文件
这很可能不是一种合适的方法(请阅读下文)。但是,如果你真的想这样做:
为了跟踪嵌套在node_modules
下的文件,您应该使用add
目录。它的所有内容都会在git中上演
git add node_modules
推荐方法
您可能不想跟踪node_modules
目录的内容,因为:
npm install
将清除您的更改
成百上千个文件可能最终会出现在该目录中
在 git 中跟踪 package.json
和 package-lock.json
就足够了,然后使用 npm install
命令填充 node_modules。
您不应该直接修改位于node_modules
目录中的文件。相反,fork 有问题的模块,修改它,然后:
然后,还要将node_modules
目录添加到.gitignore
文件中。
【讨论】:
【参考方案4】:如果整个目录未被跟踪,git status
将只显示该目录。因为它是未跟踪的,所以 git 在其中更改和未更改的文件之间没有有意义的区别。
其他答案已经解决了跟踪node_modules
不是一个好主意。如果您想跟踪对模块的更改,请考虑克隆模块 repo 并将其包含为 git 子模块。
【讨论】:
【参考方案5】:它应该在 .gitignore 文件中。应将 .gitignore 文件提交到您的存储库中,以便与克隆存储库的任何其他用户共享忽略规则。
【讨论】:
以上是关于git status 没有显示我更改的文件的主要内容,如果未能解决你的问题,请参考以下文章
Git status - 有没有办法只在特定目录中显示更改?