git - Gitlab推力被拒绝
问题描述
最近几天我加入了一个项目。该项目的所有者向他以前的开发人员询问了一项功能,由于他不高兴,他要求我做同样的事情。
该项目在GitLab上维护,之前的开发人员在我之前将他的新更改推送到 master 分支,现在当我要推送我的更改时,它被远程服务器(GITLAB 服务器)拒绝。
根据 gitlab文档,没有push force
选项可用于受保护分支上的任何角色,特别是 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
推荐阅读
- django - 使用外键将数据发送到两个不同的字段
- angular - 尝试捆绑文件时,npm run 脚本返回“没有这样的文件或目录”
- html - Ionic 5:离子卡的造型
- javascript - 如何对一个 textarea 组件的文本值进行数据绑定并更新它?
- windows - Windows中是否有可以通过文件名移动到文件夹的命令?
- maven - GITLAB-CI:仅当 pom 版本是快照或其 git 标签时才部署到 DEV
- powershell - 从函数返回 null 的引用变量
- apache - docker-compose build 无法正确构建
- amazon-web-services - 更改 EC2 实例的私钥
- java - java.lang.NullPointerException:尝试在 JSoup 库上调用接口方法“int java.lang.Comparable.compareTo(java.lang.Object)”