Gitlab推力被拒绝

时间:2018-10-19 20:39:19

标签: git gitlab git-push

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

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

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

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

我之所以这样问,是因为我和其他开发人员都在使用相同的功能,并且可能将更改合并可能导致无法预测的结果(我不确定)。

1 个答案:

答案 0 :(得分:2)

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

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

$ git checkout -b branch_to_push

然后,从该分支还原该功能的“错误”实现。如果是一次提交:

$ 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