前因 gitlab 把a分支 pull了b分支 然后合并进了b分支。 发现不对想要回退b
分支是一个受保护分支,并且没有权限直接强制推送到远程仓库,那么可以通过 GitLab 网页界面上的操作来回退到合并之前的状态。以下是步骤:
-
创建一个新的修复分支:
首先,你需要在 GitLab 页面上创建一个新的分支来进行修复操作。可以从b
分支分出一个新的分支,比如b-fix
。 -
在修复分支上回退提交:
在新的修复分支b-fix
上进行提交回退操作。- 进入
b-fix
分支。 - 找到错误的合并提交的历史,并回退到合并前的状态。可以通过网页上的提交历史查看并找到合适的提交哈希值。
- 新建一个“回退提交”的 MR(合并请求)。
- 进入
-
创建新的合并请求:
将b-fix
分支合并回b
分支。- 进入
Merge Requests
页面,创建一个新的 Merge Request。 - 源分支选择
b-fix
,目标分支选择b
。 - 在描述中注明这是一次修复操作,将
b
分支回退到合并前的状态。 - 创建并提交 Merge Request。
- 进入
-
合并回退操作:
一旦 Merge Request 被批准并合并,b
分支将回滚到合并之前的状态。
具体例子操作:
-
创建修复分支:
进入 GitLab 仓库页面,点击“Repository” -> “Branches” -> “New Branch”。- 分支名称:
b-fix
- 源分支选择:
b
- 分支名称:
-
在修复分支上回退提交:
进入新建的b-fix
分支,点击“Commits”,找到出错的合并提交之前的提交哈希值。
假设你找到了合并前的提交哈希值previous_commit_hash
。在b-fix
分支上,点击“Revert Commit”按钮,输入必要的信息,提交回退。 -
创建合并请求:
进入“Merge Requests”页面,点击“New Merge Request”。- 源分支:
b-fix
- 目标分支:
b
- 描述:说明这是一次回滚操作,将
b
分支回滚到previous_commit_hash
状态。
- 源分支:
-
批准并合并:
通知相关人员,批准并合并这个 Merge Request。
通过以上步骤,你可以在 GitLab 页面上完成回退操作,而不需要直接操作受保护分支。