Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.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
Node.js 我如何配置git,以便可以在本地对node_模块进行版本控制,但在推送时忽略它?_Node.js_Git_Npm_Node Modules_Yarnpkg - Fatal编程技术网

Node.js 我如何配置git,以便可以在本地对node_模块进行版本控制,但在推送时忽略它?

Node.js 我如何配置git,以便可以在本地对node_模块进行版本控制,但在推送时忽略它?,node.js,git,npm,node-modules,yarnpkg,Node.js,Git,Npm,Node Modules,Yarnpkg,我如何配置git,以便可以在本地对node_模块进行版本控制,但在推送时忽略它?有可能吗 原因:不同的包装系统(如npm/yarn/)访问node_模块,有时一些包装会损坏。我们想监控工具到底改变了什么。不应将节点模块推送到开发服务器上。这是不可能的 您可以从Git存储库中排除node\u模块,并在node\u模块中创建一个新的Git存储库。您可以定义以下结构: /project /my_node_modules 通过git init 使用将默认的node\u modules位置更改为文件夹

我如何配置git,以便可以在本地对node_模块进行版本控制,但在推送时忽略它?有可能吗

原因:不同的包装系统(如npm/yarn/)访问
node_模块
,有时一些包装会损坏。我们想监控工具到底改变了什么。不应将节点模块推送到开发服务器上。

这是不可能的


您可以从Git存储库中排除
node\u模块
,并在
node\u模块

中创建一个新的Git存储库。您可以定义以下结构:

/project
/my_node_modules
  • 通过
    git init
  • 使用将默认的
    node\u modules
    位置更改为文件夹
    /my\u node\u modules

你不能,所以使用吸血鬼的技术(多个Git存储库)。Git的创建者没有考虑到这种可能性?Git的明确设计使你无法阻止任何拥有存储库的人对存储库做任何他们想做的事情。存储库中的文件不是按路径名而是按“对象ID”(散列ID)存储的,推送不是按文件而是按提交完成的。你要么有一个提交(然后你有全部提交),要么没有(然后你一个都没有提交)。有一些方法只能获得部分提交,而不是全部提交,但它们很难使用。亲爱的torek,在我看来,这是一个必要的功能,但它被遗忘了。gitignore_local和.gitignore_remote是有意义的。我不想从远程获取例如node_模块,这些是本地生成的数据。但在某些情况下,我想知道本地发生了什么变化,即数据不太重要,我无法从远程获取的数据生成数据,但我对本地变化感兴趣。选择标签时请小心,并阅读标签说明-[纱线]不适用于纱线包管理器,并且有一个“请勿使用”注意这里提醒你。虽然我已经为您编辑了标签,但请小心,因为有些标签有点不清楚。谢谢,我目前是这样做的,但这是一个肮脏的伎俩,不是一个正确的配置,…即使这是一个肮脏的伎俩,这是唯一可能的解决方案。git是否跟踪某些内容。您不能仅“部分推送”存储库的子树。这在Git技术上是不可能的。好吧,我明白了,正确的答案是:不,不可能,还没有。这正是我所说的。这永远不可能。完整的文件树是计算出的散列值的一部分。谢谢,我现在是这样做的,但这是一个肮脏的把戏,不是一个正确的配置,。。