在gitlab中进行本地合并后无法推送

时间:2018-10-09 20:28:32

标签: git merge gitlab

我正在按照gitlab的说明执行发布分支到我们的develop分支的本地合并:

  

在本地签出,查看和合并

     

第1步。获取并检出该合并请求的分支

git fetch origin  
git checkout -b releaseX origin/releaseX
     

第2步。在本地查看更改

     

第3步。合并分支并解决出现的所有冲突

git fetch origin  
git checkout origin/develop   
git merge --no-ff releaseX   
     

第4步。将合并结果推送到GitLab

git push origin develop

我之前已经拉过发布分支,所以我从开发分支的第3步开始。

git fetch origin-在开发中获取了一些更改
git checkout origin/develop-创建了一个独立的头部
git merge --no-ff releaseX-与冲突合并

我手动解决了所有冲突,然后恢复:

git commit-调出提交消息编辑器;保存并关闭了
git push origin develop

尝试推送没有任何反应,并回答:

Everything up-to-date

我不确定从这里去哪里。到目前为止,我发现的所有答案似乎都不适用于此。我找到的最接近的是this one,但不确定所讨论的方案是否适用于此。

我应该提到,我在Windows上使用git,为此使用git bash。

1 个答案:

答案 0 :(得分:2)

关键部分是:

  

git checkout origin/develop-创建了一个独立的头部

如果您使用的是分离头,请不要担心按下本地分支(例如git push origin develop)会触发...什么都没有:开发HEAD不变。

相反,更新开发:

git checkout develop
git pull

然后进行合并:git merge --no-ff releaseX:解决冲突,添加,提交和推送。

  

有什么方法可以将磁头重新连接到origin/develop

是:请确保您的分支develop引用您当前的(分离的)头部。
(请仔细检查git status仍显示头部分离)
参见git branch -f

git branch -f develop