04-----使用VSCode命令+界面,从新的dev分支合并到master分支(实际是将新的master分支合并到旧的dev分支,不过两者一样,参数换个顺序即可)

由于项目需要统一开发,更好管理每一台服务器,最近公司对开发环境进行了调整,所以有了一个需求将两个分支进行合并。

而我下面要讲的是,将一个新的分支合并到旧的分支,更具体的是将最新的master分支合并到旧的dev分支去。 当然,大部分人更多情况是master旧,dev新,但是我这里比较特殊。不过两个实际场景是一样的,都是一个新的分支合并到旧的分支。

1 提前准备

git checkout dev		#切换到旧的分支
git pull origin dev		#更到最新的旧的分支,因为被其他同事可能修改过

2 合并

#第3个参数代表是最新的分支,第4个代表是旧的分支,即:将新的master合并到旧的dev中去
#如果你是新的dev拉到旧的的master,那么参3和参4互换即可
git merge master dev	

报错:
在这里插入图片描述
原因大概是因为本地初始化的项目 与 github 版本不一致, 导致无法拉取或者提交,解决:

git merge master dev --allow-unrelated-histories

接着会出现合并相关的冲突,原因是本地的分支和要拉取的新的分支发生冲突。
在这里插入图片描述

解决上面冲突,很简单,dev与master出现冲突的地方,VSCode此时上面会出现有双方的代码,我们按照对应选择即可。对选择进行解释:

  • 1)Accept Current Changes:代表保持本地的代码,例如我的本地分支是dev,合并分支是master,那么选择该选项后,保存的是本地dev的代码。
  • 2)Accept Incomeing Changes:接受合并的代码,例如我的本地分支是dev,合并分支是master,那么选择该选项后,保存的是新的master的代码。由于我们是合并,所以选择该选项。 即使选择错了,可以通过ctrl+z返回上一步即可。
    在这里插入图片描述
  • 3)Accept Both Changes:这个选项会将dev和master的代码都保存,一般不会选择该选项。例如下图:
    在这里插入图片描述
    在这里插入图片描述
  • 4)Compare Changes:选择该选项并不会做出什么改变,只是VSCode会在页面中比较这两个分支的冲突。看完需要关闭掉再重新选择。
    在这里插入图片描述

3 重新add和commit

解决上面的冲突后,我们可以先查看对应的状态。
在这里插入图片描述

可以看到上面,解决完冲突后,需要重新add和commit。

git add filenames	#filenames可以多个文件,需要以空格隔开
git commit -m "将新的master合并到旧的dev"

注意:
如果add不完整,后面commit的时候是会报错的,此时重新add缺少的文件即可,无需再添加之前已经add过的文件。 实际上看到,如果没有合并之后add的话,文件的右边有一个红色的感叹号。
在这里插入图片描述

4 push

#将合并之后的代码push到旧的远程库,此时dev就和新的的master保持一致了,这样就可以在dev开发了。
git push -u origin dev	

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值