git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project

这篇具有很好参考价值的文章主要介绍了git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


问题描述:

在开发过程中,经常会遇到版本合并错误或者提交出现问题,而此时通常使用回退版本来解决问题。

在回退过程中,使用TortoiseGit小乌龟进行处理时,出现了报错:remote GitLab You are not allowed to force push code to a protected branch on this project。
git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project,Git,git,gitlab,git版本回退


原因分析:

原因很简单,就是因为向一个受保护的分支强制提交了代码。


解决方案:

版本回退的方法

使用Tortoise Git工具进行版本回退的方法,共需3步:

  1. 查看日志。
    git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project,Git,git,gitlab,git版本回退

  2. 回滚到指定版本。在历史信息详情中,选中需要回退的版本,右键即可看到以下内容:

git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project,Git,git,gitlab,git版本回退

然后选择Hard方式进行reset。

git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project,Git,git,gitlab,git版本回退

这三种方式的区别是:
soft方式回退版本后,工作区和暂存区中的文件都不会受到影响,可以重新提交;
mixed方式回退版本后,工作区中的文件会保留,暂存区中的文件会被重置为回退版本之前的状态;
hard方式回退版本后,工作区和暂存区中的所有文件都会被重置为回退版本之前的状态。

因为我们这里需要强制回退,故需要选择Hard。

  1. 最后重新提交就完成了回退操作。
    git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project,Git,git,gitlab,git版本回退
    这里我们选择force with lease。

在Git中,git push命令用于将本地的提交推送到远程仓库。而--force选项用于强制将提交推送到远程仓库,即使这样做可能会覆盖其他人的提交。
然而,force with lease是一种更安全的方式来使用强制推送。它会检查远程仓库是否包含了你本地仓库中没有的提交。如果有其他人已经向远程仓库推送了新的提交,那么force with lease会阻止你的推送,以避免覆盖其他人的工作。
换句话说,force with lease只允许你推送更新,而不是覆盖其他人的提交。它会在推送之前检查远程仓库的状态,并确保你的本地仓库是基于最新的远程仓库更改的。
使用git push --force-with-lease命令,你可以确保你的推送不会覆盖其他人的工作,同时也避免了一些潜在的问题。然而,这并不意味着force with lease可以完全消除所有推送冲突的可能性,因此在使用时仍然需要小心谨慎。


此时,也就出现了上述报错。

报错解决方法

出现了以上报错,说明我们正在尝试强制推送代码到一个受保护的分支,而没有权限执行这个操作。受保护的分支通常是指在远程仓库中设置了限制,阻止用户直接强制推送到该分支,以防止意外或恶意的更改。

解决思路也很简单,修改gitlab上的权限即可。

  1. 查看权限情况。
    git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project,Git,git,gitlab,git版本回退
    从这里可以看到,我们的权限情况。

为了快速解决问题,这里就不在进行具体权限调整的操作了。直接将分支的保护关闭即可,比较粗暴!

  1. 修改权限。将上面的保护内容关闭。点击上图中的unprotect按钮即可关闭。
  2. 再次进行push。此时,就可以将代码正常提交了。
  3. 这是最为重要的一步。请恢复分支保护
    git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project,Git,git,gitlab,git版本回退

重新输入需要保护的分支和赋予角色即可。

请注意:强制回退会删除之后的提交和更改,且无法恢复。所以在执行强制回退之前,请确保你不需要这些提交和更改,并且已经进行了适当的备份。

如果这篇文章对大家有所帮助,可以点赞+收藏+关注一下。
如果有什么需要改进的地方,请大家在评论区留下您宝贵的意见和建议,我将非常欢迎。
月空MoonSky的主页 还有很多有趣的文章,欢迎小伙伴们前去点评。
最后,祝大家圣诞节快乐🎄🎅🎁文章来源地址https://www.toymoban.com/news/detail-778719.html

到了这里,关于git强制回退版本报错:GitLab:You are not allowed to force push code to a protected branch on this project的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 无法连接仓库:Command “git ls-remote -h xxx stderr: remote: You are not allowed to download code from

    自己jenkins打包的时候,突然在设置里面报以下错误: 无法连接仓库:Command \\\"git ls-remote -h -- http://gitlab.rd.unicloud.com/unicloud/pco/uco-ui-delivery-console.git HEAD\\\" returned status code 128: stdout: stderr: remote: You are not allowed to download code from this project. fatal: unable to access \\\'http://gitlab.rd.unicloud.com/u

    2024年02月12日
    浏览(58)
  • git reset回退版本【Git异常】You are in ‘detached HEAD‘ state

    git clone项目后,在main分支回退版本,出现报错 detached HEAD称为分支游离状态 1、从远程库clone下来一个远程的repository; 2、clone下来之后,git自动在本地建立了一个本地分支master,并自动与远程库master关联; 3、现在在操作checkout其他分支名(dev_v1);因为本地的工作区目前是刚刚

    2024年02月11日
    浏览(47)
  • “You are not allowed to create a user with GRANT”错误出现原因及解决方法:

    一、出现原因:         8.0之后的mysql不支持 授权的时候就进行用户创建,所以创建 之后才能授权; 二、解决方法; 1、查看正在mysql登录状态的用户:select current_user;   2、创建新用户:create user \\\'用户名\\\'@\\\'localhost\\\' identified by \\\'123456\\\';        3、设置用户权限:grant all on

    2024年02月16日
    浏览(47)
  • You are not currently on a branch

    今天git push提交代码时候报了一个错 这个报错的意思就是你不在分支上,没办法提交。 你需要创建一个临时分支,基于这个临时分支,将你的代码合并到master分支上。合并后删除这个临时分支就行了。 首先使用git branch命令查看所在的位置 当前位置是:HEAD detached from bdcfe3a

    2024年02月02日
    浏览(29)
  • ES删除索引问题 【Wildcard expressions or all indices are not allowed】

    ES 执行操作 DELETE /dmtv_20230415* 出现一下问题 问题解决: Elasticsearch文档说: 删除索引 API 也可以应用于多个索引,方法是使用逗号分隔列表,或者使用 _all 或 *as 索引应用于所有索引(小心!)。 为了禁用允许通过通配符或 _all 删除索引,请将配置中的 action.destructive_require

    2024年02月05日
    浏览(39)
  • Git提示Please tell me who you are(git提示Author identity unknown,git报错Please tell me who you are)

    Author identity unknown        译:作者身份未知 Please tell me who you are         译:请告诉我你是谁 原因: 这种情况一般都发生在更换设备后,在执行git commit命令时,出现的提示; 这说明你虽然把代码拉下来了,但是在推送代码时不知道你是谁,所以需要执行两行命令,告诉它

    2024年02月16日
    浏览(54)
  • 【小程序】微信开发者工具警告:Some selectors are not allowed in component wxss

    [pages/home/index] Some selectors are not allowed in component wxss, including tag name selectors, ID selectors, and attribute selectors.(./pages/home/components/tip-dialog/index.wxss:69:1) 这个警告意思是 微信小程序组件wxss中不允许使用某些选择器,包括标签选择器、ID选择器和属性选择器等。 自定义组件 | 微信开放

    2024年02月12日
    浏览(43)
  • git回退到指定版本并且清除在gitLab上的提交记录

    1、git log ---查看提交的记录  2、git reset --hard id   id是上图红框选中的内容,要回退到哪一个版本则粘贴对应记录的id 3、回退之后需要push当前操作才能彻底清除提交记录      git push -f -u origin yzl     这里的yzl是自己的分支名字 4、git  log          此时已经没有提交 的记

    2024年02月11日
    浏览(43)
  • 18.(开发工具篇Gitlab)Git如何回退到指定版本

    首先: 使用git log命令查看提交历史,找到想要回退的版本的commit id. 第一步:git reset --hard 命令是强制回到某一个版本。执行后本地工程回退到该版本。 第二步:利用git push -f命令强制推到远程 如下所示: 优点:干净利落,回滚后完全回到最初状态。 缺点: (1)需要找到你要

    2024年02月04日
    浏览(57)
  • 解决:Some selectors are not allowed in component wxss, including tag name selectors, ID selectors

    在微信开发工具中运行文档中的代码,出现如下错误:  [渲染层错误] Some selectors are not allowed in component wxss, including tag name selectors, ID selectors, and attribute selectors.(./custom-tab-bar/index.wxss:36:15)(env: Windows,mp,1.06.2210310; lib: 2.5.0) 出现原因:随着小程序的发展,文档中原来的写法已经不

    2024年02月12日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包