该合并请求存在冲突,无法进行自动合并操作。


#1

Gogs 版本:0.11.43.0330
系统类型及版本:Windows Server 2016 Standard
数据库:sqlite3
问题描述:请问该如何正确的操作,才能解决冲突并将该合并请求变成“已合并”状态。
尝试在本地直接合并该分支,推送到远端后,再次查看该合并请求时还是提示存在冲突,并且"代码提交"、“文件变动”都变成了N/A。

https://try.gogs.io/etxin/pull-request-demo

发现try.gogs.io上的0.11.50.0530版本有个bug,仓库设置了描述后无法正常显示,提示 template: repo/home:8:111: executing “repo/home” at : wrong type for value; expected string; got template.HTML


#2

Gogs 说有冲突那必然是有滴,只是可能你摆本地环境和服务器有 git 上的设置不同


#3

哦。。你已经 n/a 那测不了了,你先说说你怎么解决冲突然后推送的吧


#4

描述的问题修复啦


#5

不太确定我的操作是否正确。
切换到master,拉取develop到master上,然后解决冲突,并在master上提交并推送。
也试过在master上,合并develop到master上,然后就是解决冲突并提交推送了。
这两个操作的结果都是一样的。


#6

然后我在github上重现了一遍,那边是可以自动更新为“已合并”的。


#7

应该是你强推上去了。。所以就没有 diff 数据了,Gogs 现在不检测是否已经主动合并


#8

那应该怎么操作?


#9

正常操作是解决完冲突推送到发起 PR 的分支,你直接推主分支了估计。。那就没什么可 pr 的了。。


#10

就是要让发起PR的人去解决冲突么?然后合并PR必须通过gogs上的按钮进行操作?
我自己试了一下操作,gogs上还是提示冲突,方便教一下完整的流程吗?谢谢。
https://try.gogs.io/etxin/pull-request-demo/pulls/3


#11

我今天下班给你瞅瞅


#12

好的,谢谢!


#13

我忘记了管理员只能全局 pull 不能 push,基本步骤就是:

$ git checkout develop
$ git pull origin master
$ git push origin develop

#14

@Unknwon 我现在也遇到了这个问题,提示该合并请求存在冲突,无法进行自动合并操作,但是,其实并没有冲突。pull 再push就可以合并,但是,网页就显示不能合并,不管是派生,还是同一个库的不同分支都不行。我的环境是windows,最新的0.11.53.0603版本。能否解释一下https://try.gogs.io/etxin/pull-request-demo/pulls/3,这个仓库的例子为什么存在冲突,因为我看不太出来,麻烦了


#15

自己回复一下。之前是用的linux版本,合并请求没有都OK,而且打开页面很快,后来,因为要用windows编译东西,所以,把系统换成了windows,gogs也用的windows版本,就出现了合并不了的问题,打开页面明显的延时。我怀疑是系统的问题,昨天我在windows下面安装了ubuntu子系统,运行linux版本,已经没有问题了。该合并的合并能合并,性能也上来了。所以,遇到明明没有冲突,却提示有冲突的,并且是用的window版本的兄弟们,请换成linux试试


#16

我怀疑可能也许是 windows 换行符的锅。。