Gitlab 推力被拒绝

Gitlab push force rejected

最近几天我加入了一个项目。该项目的所有者向他的前任开发人员询问了一个功能,由于他不满意,他让我做同样的事情。

该项目在 GitLab 上维护,之前的开发人员在我之前将他的新更改推送到 master 分支,现在当我要推送我的更改时,它被拒绝了远程服务器(GITLAB 服务器)。

根据 gitlab documentation,在 git 实验室存储库上没有 push force 选项用于受保护分支上的任何角色,特别是在 master 上(可以是已关闭)。

我想知道我是否没有其他选择来关闭主分支上的保护然后强制推送我的更改,或者有一些更好的选择?

我问这个问题是因为我和其他开发人员在开发相同的功能,合并我们的更改可能会导致不可预测的结果(我不确定)。

另一种方法是还原其他开发人员的更改,然后在该还原的基础上应用您的更改。

从master分支开始创建新分支:

$ git checkout -b branch_to_push

然后,从该分支恢复该功能的 "wrong" 实现。如果是单次提交:

$ git revert <commit-hash>

如果它由多个提交组成:

$ git revert '<commit-hash-earliest>^1..<commit-hash-latest>'

从你的分支中挑选你的实现:

$ git cherry-pick feature_branch

然后将这个分支推送到 GitLab 中进行审查:

$ git push origin branch_to_push