解决git 不同branch 下node_moudes不同步的问题
做nodejs开发,或者vue react等开发的同学,在使用git 做版本管理的时候肯定碰到过这个问题。
按常规做法node_modules 肯定是被添加到.gitignore中不需要被提交的
但是在分支切换的时候就会遇到问题 ,经如你在dev分支下就是升级了某个依赖到最新和版本,这时node_modules下所有的文件被更新,这时你如果切会master分支,修改一个小错误 ,就会发现,由于node_modules 下的依赖已经是新版本,但是master中还是用的老版本,代码运行就不正常了,所以你不得不npm install一下,记所有依赖回到原来的版本,master正常了,再切回dev,依赖又不对了,又要npm install 一次,很是麻烦。
特别最遇到某个依赖重大更新,可能要修改很多代码的时候,你希望在彻底升级成功之前,不搞乱node_modules目录。这时候就要祭出git worktree这个命令了
λ git worktree add -b upslider ../upslider dev
Preparing ../upslider (identifier upslider)
HEAD is now at 44f4bee fix some bug
上面代码,可以建立一个完全干净的全新工作目录upslider,来自于dev分支,你可以cd ../upslider 进入新的工作目录,在这个工作目录下,npm install 以后,你想怎么升级nod_modules,都不会影响到原来工作目录下的node_modules 。
在新的工作目录下,你完成所有的升级工作,测试一切无误以后,就可以commit了,这样生成一个新的branch,而且这个用于测试升级新工作目录也可以彻底删除,不用担心,代码已经全部进了branch。
会到原来的工作目录,你可以用git merge upslider 把修改的代码全部合并到当前工作目录。
这样利用全新目录来升级测试node_modules下的新依赖,完全不打扰到正常工作目录。
解决git 不同branch 下node_moudes不同步的问题的更多相关文章
- 解决git客户端MINGW32下的“Could not open a connection to your authentication agent.”
		
使用git, 下载客户端后想进行和github 进行ssh 互通 出现以下情况: hadoop@deng-PC MINGW32 ~/.ssh$ ssh-add ~/.ssh/id_rsaCould n ...
 - ubuntu下安装Firefox中国版解决Ubuntu与Windows下Firefox账号同步问题(已解决)
		
1. 下载最新版本火狐Linux版 下载地址:http://firefox.com.cn/download/ 选择火狐Linux64-bit版,下载后文件为:Firefox-latest-x86_64 ...
 - Git master branch has no upstream branch的解决
		
Git master branch has no upstream branch的解决 在push代码时,出现“git master branch has no upstream branch”问题的 ...
 - Git Your branch is ahead of 'origin/master' by X commits解决方法
		
(1)方法1:git fetch origin (2)方法2(代码还需要):git push origin (3)方法3 (代码不需要):git reset --hard origin/$branch ...
 - Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法
		
Git本地仓库与远程github同步的时候提示fatal: remote origin already exists 错误解决办法 1.git在本地的电脑创建了仓库,要远程同步github的仓库.使用 ...
 - Windows下如何解决git bash的默认home目录路径问题
		
转自:http://blog.csdn.net/lucien_zhou/article/details/62069246 为了解决这个问题,我在网上找了好久,尝试过按网上其他人所述,修改 git 安装 ...
 - [转]Git for windows 下vim解决中文乱码的有关问题
		
Git for windows 下vim解决中文乱码的问题 原文链接:Git for windows 下vim解决中文乱码的有关问题 1.右键打开Git bash: 2.cd ~ 3.vim .vim ...
 - 什么是git?window下安装git
		
一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...
 - 解决git pull时出现的几个问题
		
第1个问题: 解决GIT代码仓库不同步 今天在执行git pull时出现: 解决方法:执行git checkout -f,然后再执行git pull重新checkout 再执行git pull时就可以 ...
 
随机推荐
- spring 4.1 xml配置头部信息 maven配置信息
			
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://w ...
 - RabbitMQ主题模式
			
Send类 package topics; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection; imp ...
 - 2017-9-14-Linux移植:加快Linux主机的启动速度
			
参考文章:http://www.mintos.org/skill/fast-boot.html 今天本来不打算写Blog了,Linux笔记本开机太慢了,浪费生命.何不干脆写一篇关于加快Linux主机启 ...
 - 1490 ACM 数学
			
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1490 题意: 给出n*n 的矩阵,选出不同行不同列的n个元素,并求和: 如果所有选法所产生的和相等,则输出 ...
 - python基础一 ------如何根据字典值对字典进行"排序"
			
需求:{姓名:成绩} 的字典,按成绩进行排序 方法一:转化为元组,(91,"张三")的形式 ,用sorted()函数进行排序 方法二 :设置sorted() 中key的参数的值 # ...
 - openssl可以实现:秘钥证书管理、对称加密和非对称加密
			
openssl enc -e -aes-128-cbc -iv 0102030405060708 -K 1234567890123456 -in input.xml -out output.xml( ...
 - ACM知识点总结
			
1 枚举 2 模拟 3 构造 4 位运算的应用 5 查找 5.1 二分查找 5.2 分块查找 5.3 哈希查找HASH 5.3.1 线性探测法 5.3.2 字符串与哈希 6 搜索 6.1 深度优先搜索 ...
 - .net 相关性能计数器丢失问题解决方案
			
1.开始运行:cmd 2.在cmd窗口中执行下面命令: cd c:\windows\system32 lodctr /R 执行完上面命令,会提示:“信息: 成功地从系统备份存储中重建性能计数器设置” ...
 - session与cookie的区别是什么?如果客户端禁用了cookie功能,将会对session有什么影响?
			
cookie 和session 的区别: a.cookie数据存放在客户的浏览器上,session数据放在服务器上. b.cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE ...
 - 学习 IOC 设计模式前必读:依赖注入的三种实现
			
一直以来就是越难的东西越值钱! 嘿嘿,这篇博文章转载自:http://www.cnblogs.com/liuhaorain/p/3747470.html 摘要 面向对象设计(OOD)有助于我们开发出高 ...