首先要提一下,我已经尝试了之前问题中的一些东西,但它们都不适合我的情况。
- 这不会以某种方式“注册”为 gitlab 中的合并。我得出这个结论是因为当我在合并后尝试删除分支时,git 抛出了一个警告。当然我可以强制删除分支,但我更愿意保持合并历史的干净。
- 这个答案,据我所知,似乎是针对子存储库/模块的,这不是我在这里的设置。
- 没有对其进行试验以避免任何可能的进一步不一致。
这是场景:
我在 GitLab 中有一个存储库,我正在尝试解决合并请求,即将 MR 的关联分支合并到 master。在提交并将所有更改推送到 MR 分支19-some-function
后,我按照 Gitlab [4] 中的说明进行手动操作merge
,从而产生一个detached HEAD
状态。
$ git fetch origin
$ git checkout -b 19-some-function origin/19-some-function
fatal: A branch named '19-some-function' already exists.
$ git checkout origin/master
Note: switching to 'origin/master'.
You are in 'detached HEAD' state. You can look around, make experimental
[truncated]
$ git merge --no-ff 19-some-function
Merge made by the 'recursive' strategy.
package-lock.json | 55 +++++++
package.json | 1 +
src/Common/Constants.js | 2 +-
src/Common/utils.js | 23 +++
(与通过 Gitlab MR 页面 UI 执行此操作相反:“解决 WIP”>“合并”通过单击按钮坦率地说我不确定 BHS 的作用。但是必须添加,当我使用 UI 时,我做到了没有得到分离的 HEAD)我是唯一的开发人员,还没有单独的审阅者,所以我不知道说明中的第 1 步和第 2 步是否是多余的(它试图创建 MR 分支。这对审阅者来说很有意义,但是作为该功能的开发人员,我已经拥有该分支,因此会引发错误,如上所示,因此之前再次git
运行没有意义)。git fetch origin
checkout
我该如何解决这个问题detached HEAD
,以便将其记录为 with 的19-some-function
合并master
?上述问题/答案(2)会有帮助吗?
[4] MR 分支是19-some-function
Check out, review, and merge locally
×
Step 1. Fetch and check out the branch for this merge request
git fetch origin
git checkout -b 19-some-function origin/19-some-function
Step 2. Review the changes locally
Step 3. Merge the branch and fix any conflicts that come up
git fetch origin
git checkout origin/master
git merge --no-ff 19-some-function
Step 4. Push the result of the merge to GitLab
git push origin master