Git Worktree:解决分支依赖冲突的问题

本文介绍了如何使用Git的worktree命令解决不同分支间的node_modules依赖冲突问题。通过worktree,可以在不同文件夹中管理同一仓库的不同分支,避免了因依赖版本不一致导致的冲突。文章详细阐述了worktree的使用方法,包括创建和切换分支,并提供了实际项目改造的步骤示例。
摘要由CSDN通过智能技术生成

git worktree 命令可在不同文件夹中打开同一个 git 仓库的不同分支,很好的解决不同分支 node_modules 依赖冲突的问题。

将一个项目不同平台的版本放在 git 仓库的不同分支,是一种常见的做法。比如我最近在考虑开发 Gitview (项目链接 )的小程序版,计划将原先 React Native 版的代码放到名为 react-native 的分支,小程序版在一个新的名为 weixin 的分支中开发,master 分支中将只放简介和各分支的索引链接。

由于 node_modules 文件夹是在 .gitignore 之中的,git 不会对其有任何记录或操作,因此不同分支不会有自己独立的 node_modules,使用 git checkout 命令切换时,项目里还是同一个 node_modules 文件夹。

此时在各分支直接执行 npm install 的话,各分支 package.json 中对应的依赖都会被放到同一个 node_modules 文件夹。如果同一个依赖不同分支的版本不一致,则会冲突覆盖,发生问题。

类似问题还会出现在以下场景:

  • 你想将项目的 react 版本从 15 升级到 16 ,并尝试使用一些 16 的新特性,因此建立了一个新的分支,但在这期间,你还要在原分支上维护老版本的项目,互相切换时 react 版本会冲突覆盖

  • dev 分支中是全新的内容,但你有些代码片段希望从原来的 master 分支直接拷贝,互相切换后看不到其它分支的代码

以上问题

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值