【问题标题】:Gitlab push force rejectedGitlab推力被拒绝
【发布时间】:2019-03-24 18:33:29
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: git gitlab git-push


    【解决方案1】:

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

    从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
    

    【讨论】:

      猜你喜欢
      • 2013-10-27
      • 2019-03-29
      • 1970-01-01
      • 2018-03-11
      • 1970-01-01
      • 2017-01-09
      • 2021-09-22
      • 1970-01-01
      相关资源
      最近更新 更多