解决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时就可以 ...
随机推荐
- CodeForces - 1089G
题目链接: http://codeforces.com/contest/1089/problem/G Example input Copy 3 2 0 1 0 0 0 0 0 100000000 1 ...
- 3.27模拟赛 sutoringu(后缀数组)
\(\color{white}{mjt是机房模拟赛独自切过题的唯一的人...}\) (应本人要求删掉惹) \(Description\) 给你\(n,k\)和长为\(n\)的字符串\(s\).一个区间 ...
- 1006 Tick and Tick
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1006 题意: 24小时中,三个指针之间超过某个度数的时间占所有时间的百分比是多少. 思路:主要是物理和数学 ...
- CC2431 代码分析①-CC2431 喊出第一声
CC2431 是一款可以基于RSSI 定位的 芯片. 定位原理,通过RSSI 强度换算距离. 可以打个类似的比方,一个人站在群山之间,每个山头都有一个地理坐标,然后大喊一声,各个方向会返回回声,通过回 ...
- WordPress UpdraftPlus插件 Google Drive 备份
本文连接地址: http://blog.tuzhuke.info/?p=168 本文作者:tuzhuke 完成时间:2015-04-10 使用wordpress 搭建自己的博客网站,但是对于租用的服务 ...
- php 获取读取文件内容
/* * 获取文件内容 * */ public function getLocalFileContents($file) { $handle = @ ...
- [POJ2287][Tyvj1048]田忌赛马 (贪心+DP)
瞎扯 很经典的一道题 考前才打 我太菜了QAQ 就是先贪心排序了好 然后在DP 这样比直接DP更容易理解 (其实这题做法还有很多) 代码 #include<cstdio> #include ...
- linux下下载redis,并且编译
1:下载.解压.编译$ wget http://download.redis.io/releases/redis-3.0.6.tar.gz $ tar xzf redis-3.0.6.tar.gz $ ...
- Alpha冲刺——序言篇(任务与计划)
所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺--序言篇 团队名称 待就业六人组 一.代码规范 详见项目在线文档:项目代码规范 二.本次冲刺任务与计划 任务 内容 时间 第一天 ...
- vue中的v-cloak
问题 在使用vue时,HTML 绑定 Vue实例,在页面加载时会闪烁类似{{msg}}这样的信息.可能会导致用户体验不好. 使用v-cloak v-cloak就能解决这个问题. (1)用法 这个指令保 ...