巨坑的GitLab在线解决冲突(解决后做了反向合并代码的操作?)

项目场景:

开发项目的时候,使用gitLab合并功能分支feature到dev上的时候,出现了Conflicts,在线解决冲突之后,点击解决合并,结果反向的把dev的分支合并到了feature功能分支,这波蜜汁操作当时我就懵了!!!

问题描述

gitLab合并解决冲突之后,反向将目标分支合并到了源分支。
在这里插入图片描述

原因分析:

首先了解一下gitlab官方提供的解决冲突的几个模式:

Resolve conflicts in interactive mode To resolve less-complex conflicts from the GitLab user interface:
1.Go to your merge request.
2.Select Overview, and scroll to the merge request reports section.
3. Find the merge conflicts message, and select Resolve conflicts. GitLab shows a list of files with merge conflicts.


简单翻译一下就是:
1. 转到你的合并请求。
2. 选择Overview,然后滚动到合并请求报告部分。
3. 找到合并冲突消息,然后选择解决冲突。GitLab 显示具有合并冲突的文件列表。冲突突出显示:

在这里插入图片描述
看到这好像觉得也没发现啥问题,接着继续往下看:
注意以下这句关键:

Resolving conflicts merges the target branch of the merge request into the source branch, using the version of the text you chose. If the source branch is feature and the target branch is main, these actions are similar to running git checkout feature; git merge main locally

翻译一下这句就会发现问题了:
解决冲突会使用您选择的文本版本将合并请求的目标分支****合并到源分支中。
还举了个例子:
如果源分支是 feature,目标分支是main,这些动作类似于在 git checkout feature; git merge main本地运行。
这下就终于理解了,当我的分支是feature/xxxx的时候,解决完冲突,将我的目标分支dev合并到了我的源功能分支上面去了,oh shit 这该死的操作!!!!!

解决方案:

方法1:临时分支替代法:分支feature要合并到dev分支,且出现了冲突,可以先从feature分支拉一个临时分支feature_temp,用临时分支feature_temp合并到dev分支。
git checkout feature //先切换到feature 分支
git checkout -b feature_temp //拉出来新的分支
git push origin feature_temp //推送到远端
git branch --set-upstream-to=origin/feature_temp 

然后再gitlab界面上面选择feature_temp分支去做合并操作。

方法2:回滚补救法:设feature分支要合并到dev分支,且出现了冲突,合并完成后,对feature分支做回滚操作。
git log //找到上一个版本的commitID
git reset --hard HEAD/commitID  //强制回退本地分支到上一个版本
git push origin HEAD --force 或者 git push -f origin feature //强制回退远程

这样就轻松解决了gitlab解决冲突后的反向操作,还是要多看看官方文档,贴一下地址gitLab官方文档,希望大家多多支持和关注。

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
TDengine是一种高性能、高可靠的时序数据库,由中国企业开发而成。然而,有些用户认为TDengine存在许多问题,因此将其称为"巨坑"。以下是一些可能导致用户这样形容TDengine的问题: 首先,TDengine在与其他数据库集成时可能存在兼容性问题。由于其独特的架构和设计理念,一些已有的应用程序或工具可能无法直接适配TDengine。这可能导致用户需要进行大量的修改或重写现有代码,对于一些复杂的应用场景来说,这可能是一项耗时且繁琐的工作。 其次,TDengine的文档和教程相对较少。对于新用户来说,他们可能很难找到足够的资源来学习和理解TDengine的使用方法和最佳实践。这可能给用户带来一些困扰,特别是在遇到问题时很难找到解决办法。 此外,TDengine在某些方面的性能可能不如用户期望。虽然它被称为高性能数据库,但是与其他同类产品相比,TDengine可能在某些场景下的性能表现不如人意。这可能导致一些用户对TDengine的性能感到失望,并在使用过程中遇到一些瓶颈。 最后,TDengine可能也存在一些稳定性问题。尽管它被标榜为高可靠性数据库,但在实际使用中,一些用户可能遇到了一些无法解决的故障或崩溃问题。这可能对用户的业务和数据产生一定的影响,并损害用户对TDengine的信任度。 总之,尽管TDengine在性能和可靠性方面具备一定的优势,但也不能否认它目前还存在一些问题。用户在选择使用TDengine时需要充分了解其特点和局限性,并根据自身业务需求评估是否适合使用。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值