Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何强制将节点模块推送到GitHub_Git_Github_Npm_Node Modules_Gitignore - Fatal编程技术网

如何强制将节点模块推送到GitHub

如何强制将节点模块推送到GitHub,git,github,npm,node-modules,gitignore,Git,Github,Npm,Node Modules,Gitignore,我想在我的git存储库中包括节点模块。 我知道,人们通常建议不要将它们包括在内(如解释的和在许多其他地方),但是: 在将模块更新交付给客户端之前,我想检查模块更新(以及它们是否安全) 我不希望项目依赖于这些模块的可能移除 它们是很小的模块(总共100kb),所以关于模块大小的争论是站不住脚的 git中似乎有什么东西自动阻止添加/提交/推送节点模块。至少,他们没有被我的.gitignore列入黑名单 有人能解释一下到底是什么阻止我添加它们,以及是否有可能强制添加它们吗?首先检查它们是否被除您的

我想在我的git存储库中包括节点模块。 我知道,人们通常建议不要将它们包括在内(如解释的和在许多其他地方),但是:

  • 在将模块更新交付给客户端之前,我想检查模块更新(以及它们是否安全)
  • 我不希望项目依赖于这些模块的可能移除
  • 它们是很小的模块(总共100kb),所以关于模块大小的争论是站不住脚的
git中似乎有什么东西自动阻止添加/提交/推送节点模块。至少,他们没有被我的
.gitignore
列入黑名单


有人能解释一下到底是什么阻止我添加它们,以及是否有可能强制添加它们吗?

首先检查它们是否被除您的gitignore之外的任何其他全局设置列入黑名单:

cd /path/to/my/repo
git check-ignore -v my_node_module/aFile_inside_node_module 
只有这样,您才能确保没有排除您的文件的规则。

另请查看这些模块是否是嵌套git的一部分(查找任何隐藏的
.git
文件夹)

请不要这样做

我想在安装之前检查模块更新(以及是否安全) 将它们交付给客户

  • 使用
    npm审计
    检查安全性和脆弱性
我不希望这个项目依赖于这些可能的移除 模块

  • 模块永远不会被取消发布,除非它们是一个合法的安全问题,几乎所有不推荐的包仍然保持可用,以确保它们不会破坏依赖它的项目(依赖项)。这里有更多-
它们是很小的模块(总共100kb),所以关于模块大小的争论是站不住脚的

  • 我知道这是微不足道的,但是,如果你需要扩大规模,那么你将不得不在许多环境中下载这一小部分,这一切加起来

这似乎比我的答案更好。谢谢你的建议,我在这里学到了很多东西(比如npm审计)。我对你的答案投了赞成票。也就是说,我的两个问题都没有答案。我不同意你关于任何代码的永生的观点,比如npm模块。生活往往向我证明了相反的情况我更新了答案,提供了有关发布标准的更多信息,以证明取消发布包的可能性有多大。:)谢谢你提供的宝贵信息。仍然不是我问题的答案,不是“我应该这样做”,而是“为什么会这样”和“如何做”?:)好的,你最后的评论给了我答案:看起来[apple?]-git自动忽略了任何“node_modules”文件夹,没有任何.gitignore文件。在用其他名称重命名“node_modules”文件夹并看到文件出现在git状态的“Changes not staged”中后,我注意到了这一点。我在网上的任何地方都找不到对此的任何确认,但它确实发生在这里。因此,对于任何需要这样做的人,只需重命名文件夹。。。谢谢@MaximillionBartango谢谢你的帮助!我确实投了这个票。现在,我没有收到git检查忽略的响应,所以这仍然是,并且没有隐藏的git回购。所以我想还有另外一个原因。。。这还没有回答。@Vincent你是否尝试了一个
git添加--强制我的node\u模块/aFile\u进入node\u模块
?@Vincent你的存储库中是否有一个
.gitmodules
文件?我曾试图强制推送node\u模块文件夹,但最终只有苹果的
.DS\u store
文件显示为暂存文件。我的repo中没有任何
.gitignore
文件。