我最近几天加入了一个项目。该项目的所有者向他以前的开发人员询问了一项功能,由于他不满意,他要求我做同样的事情。
该项目保留在GitLab上,以前的开发人员将他的新更改推送到了我之前的master分支上,现在当我要推送更改时,它被远程服务器(GITLAB服务器)拒绝。
根据gitlab文档,对于push force
专用于master(可以关闭)的受保护分支上的任何角色,git lab存储库上均没有选项。
我想知道是否没有其他选择可以关闭主分支上的保护,然后强制推送更改,或者还有其他更好的选择?
我之所以这么问,是因为我和其他开发人员都在使用相同的功能,并且可能合并我们的更改可能会导致不可预测的结果(我不确定)。
一种替代方法是还原其他开发人员的更改,然后在该还原的基础上应用您的更改。
从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
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句