首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Git管理package.json & package-lock.json

使用Git管理package.json & package-lock.json
EN

Stack Overflow用户
提问于 2019-04-15 18:20:18
回答 2查看 2.8K关注 0票数 2

我知道您应该将package-lock.json添加到git中,以确保团队成员使用相同版本的依赖项。

运行package-lock.json将检查是否有npm install,并安装这里指示的版本。如果不存在锁文件,它将按照package.json的指示从它们的源安装包。

那么,应该将package.json添加到您的git回购中吗?

如果不是,克隆回购的新团队成员将获得锁文件,但不能从锁文件生成package.json文件,对吗?

附加问题:如何处理package-lock.json?中的合并冲突由于它们是机器生成的,我发现这种情况经常发生,而且并不总是清楚应该如何解决这些问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-15 18:36:45

是的,package.json也应该包括在内。除了包含项目元数据和npm所要求的之外,它还提供了显式依赖关系的简洁的视图。

关于冲突,最好的选择可能是完全使用其中之一(而不是试图合并)。或者从头开始重新创造。在项目的早期阶段,在添加所有主要依赖项时,您可能会遇到许多冲突。

票数 2
EN

Stack Overflow用户

发布于 2019-08-02 21:11:47

要回答你的奖金问题:

有一种方法可以教Git自动“合并”package-lock.json文件,使用合并驱动程序和.gitattributes文件。

TL;DR

在每台开发人员机器上运行一次:

代码语言:javascript
复制
git config --global merge.theirs.name "Keep changes of upstream branch"
git config --global merge.theirs.driver "cp -f '%B' '%A'"

将以下.gitattributes文件添加到您的repo中(并提交):

代码语言:javascript
复制
package-lock.json merge=theirs

有关更详细的解释,请参见我的博客文章

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55695122

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档