两个分支上都有某段代码,但是在gitLab上merge时,却有这段代码的change出现
二、容易出现此问题的场景:
线上分支master上有紧急bug需要改,于是基于master拉了个新分支去改,改好后,想把这部分代码同步到dev和test上去,但是此时dev由于有正在联调中的代码,不能直接和test,于是直接将新分支的代码分别合入dev和test,后面一切走入正轨后,dev合到test,于是发现多了不该有的change
三、复现步骤:
1.从master分支切个新分支A
2.A分支里随便修改个啥,自己开心就好
3.在gitlab上,提A=>dev分支的merge并合并(dev分支上有提测的代码)
4.在gitlab上,提A=>test分支的merge并合并(test分支上有提测的代码,合过之后,两分支代码应该相同)
5.在gitlab上,提dev=>test分支的merge,查看change,发现多了很多change,但是其实,这些change两个分支都存在
四、问题出现原因剖析
gitLab上,不能一对多,只能多对一,否则容易出现版本错乱问题,下面我们来验证下这个问题,复现的步骤,就不重复了,直接用命令来验证
1.对比dev分支和test分支,比较dev分支上有而test分支上没有的内容
git log dev ^test
执行以上命令后,结果如下,发现果然版本出现了问题
2.对比test分支和dev分支,比较test分支上有而dev分支上没有的内容
git log test ^dev
执行以上命令后,结果如下,依旧版本问题
一、问题描述:两个分支上都有某段代码,但是在gitLab上merge时,却有这段代码的change出现二、容易出现此问题的场景:线上分支master上有紧急bug需要改,于是基于master拉了个新分支去改,改好后,想把这部分代码同步到dev和test上去,但是此时dev由于有正在联调中的代码,不能直接和test,于是直接将新分支的代码分别合入dev和test,后面一切走入正轨后,dev合到test,于是发现多了不该有的change三、复现步骤:1.从master分支切个新分支A2.
Gitlab
合并请求工具
Chrome插件可帮助合并请求。
当前具有2个功能:-使用通配符模式过滤MR文件(有助于提高对大型MR的响应性)-复选框以过滤重命名/删除的文件,因为这些不需要太多检查。已过滤的文件均设置为“显示:无”,两者均在差异和树状视图。
已知限制*当合并请求仍在加载文件
时
,筛选器不会应用于新添加的文件。
加载完成后,只需再次单击“应用”即可。
*当文件树视图中的文件夹折叠
时
失败。*如果应用了过滤器,然后打开树视图,则需要再次应用过滤器
brew install hammerspoon --cask
下载 ,解压缩并双击.spoon文件。 它将安装在~/.hammerspoon/Spoons文件夹下。
打开〜/ .hammerspoon / init.lua并添加以下
代码
段,并添加您的参数:
--
GitLab
hs. loadSpoon ( '
gitlab
-
merge
-requests ' )
spoon[ '
gitlab
-
merge
-requests ' ]: setup ({
gitlab
_host = ' https://
gitlab
.co
Gitlab
合并请求支持自述文件
借助
Gitlab
合并请求支持,您可以轻松地遵循
GitLab
MR上的支持或批准。 扩展的树形视图将显示您在实例创建的MR上的投票(或批准)。
添加
GitLab
实例
删除
GitLab
实例
在树状视图中列出
GitLab
实例
列出合并请求及其投票和标题。 单击合并请求项以打开MR网页。
在专用预览中关注更新。 项目是可单击的,并将在您的默认浏览器中打开MR。
此扩展程序提供以下设置:
gitlab
-
merge
-request-upvotes.refresh.interval : number的每个刷新之间秒。
gitlab
-
merge
-request-upvotes.refresh.enable : boolean用于启用或禁用自动刷新。
gitlab
-
merge
-request-upvotes.upvotes.type : upvotes|approvals使用upvotes或approvals 。
这是一个小型工具,它将打开Google Chrome浏览器以创建新的
Gitlab
合并请求。
Gitlab
合并请求基于Sourcetree中的当前
分支
和当前打开的
GIT
目录。
composer global require jcid/sourcetree-
merge
-request-opener
为什么建这个? 因为Jira表示他们将不支持
Gitlab
自己的实例。 有关更多信息,您可以在这里阅读:
打开Sourcetree preferences (快捷键: ⌘ , )
转到Custom Actions
使用值添加新的“ Custom Action ”
Create
Gitlab
merge
request
~/.composer/vendor/bin/sourcetree-
merge
-request
How do I resolve a
git
merge
conflict in favor of pulled
change
s? 我该如何解决
git
merge
冲突以利于更改?
Basical
使用
git
merge
合并
两个
分支
时
,如果
两个
分支
都修改了同一个文件,则会发生冲突(Conflict),并进入合并的中间状态。那么要如何查看冲突呢?冲突该如何解决?
Git
合并冲突:"Automatic
merge
failed; fix conflicts and then commit the result."
目录背景方法一:追加commit(提交不要新建commit)Step1:先
git
log看之前的commit记录、Step2:将当前
代码
提交到暂存区Step3:进入提交信息界面Step4:提示提交成功Step5:检查是否提交完毕Step6:提交到远程仓库方法二:合并需要的commitStep1:查看log,我们要合并几条commitStep2:进行合并操作Step3:修改commit messageStep4:进行验证
我们在开发过程中,及
时
提交commit这个其实是一个比较好的习惯,就和我们需要经常
Failed to compile. ./node_modules/watchpack/lib/chokidar.js Module build failed (from ./node_module
雨中的风铃子: