git撤回push代码方法 分支受保护 不受保护时 详解

2023-11-17

git撤回push代码方法 分支受保护 不受保护时 详解

1.分支受保护时用revert

1.先说结果:

如果分支受保护,那么就不能reset方法来撤回,原因后面说。那么需要通过revert来撤回。

2.可以的方法:

git revert能够生成一条revert记录,与commit记录相似,那么我理解的是:提交内容虽然撤回,提交记录还是向前的,不会低于orgin的版本。

git revert命令详解:git revert SHA,SHA指需要撤销的commit的SHA(我是先撤最近一次,再撤第二次,可在本地看到每次更改的代码),SHA可在git commit的那条记录中复制过来,如图。
在这里插入图片描述

3.commit push

在revert之后,要像平常提交commit一样,push到远程,在远程分支上才能够有变化。

总体代码如下:

git revert SHA
git commit ....
git push origin <branch>

2.分支不受保护时可用reset

1.为什么保护分支要用revert不能用reset?

这就涉及到reset和revert的区别了,还是那个道理:reset仅回退版本,revert在回退的同时产生新的提交记录。

reset的代码(再次提醒,reset只是撤回了本地的commit),push时会提醒版本落后于origin。

于是强制push到远程,但是受保护的分支不允许强制push。(那么我先pull一下远程代码呢?瓦!这样就更错误了,远程是没有撤销之前的代码)。

所以只能通过revert来解决。

2.reset方法的代码
git reset --soft [版本号]/HEAD~N
git push --force
3.reset详解

具体地,解释reset命令用法,参考原文链接:https://blog.csdn.net/chenxi_li/article/details/108124186

回退版本使用git reset,其中这条命令中又分为两种

git reset --soft
git reset --hard 

在我们git push成功提交后,若想要撤销这次提交,可以用git reset命令,如下

git reset --soft [版本号]/HEAD~N
git reset --hard [版本号]/HEAD~N

上面的区别是,git reset --soft会保留本地仓库代码的修改,git status可以保留提交之前最后的状态,可以再次git commit,git push。而git reset --hard不会保留本地仓库代码的修改,会一并撤销掉这笔提交本地仓库的代码修改。git reset –soft HEAD~1 回退到上一个版本,即git add . 后的内容

3.1获取版本号两种方式

git reflog 查看自己提交的各种版本
git log 查看所有人提交的版本

git reset --soft d5f66a591d9c0c909c9b8a9379c1cc8e9b283ae4
// 或者
git reset --hard d5f66a591d9c0c909c9b8a9379c1cc8e9b283ae4

常用:回退到上一个push前(add后的)

git reset --soft HEAD~1
// 或者(同上效果一致)
git reset --soft HEAD^
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

git撤回push代码方法 分支受保护 不受保护时 详解 的相关文章

  • 全局 Git 忽略

    我想将 Git 设置为全局忽略某些文件 我添加了一个 gitignore文件到我的主目录 Users me 并且我添加了以下行 tmproj 但它并没有忽略这种类型的文件 知道我做错了什么吗 您需要设置您的全局core excludesfi
  • libgit2如何获取当前目录的状态?

    如何获取单个目录而不是整个存储库的状态 我查看了以下内容 git status list new它获取存储库状态 但我只关心位于单个目录中的文件 git status file获得单身状态 有没有办法可以使用 libgit2 获取单个目录的
  • 在 Windows 上,无法创建目录“/home/<用户名>/.ssh”

    要使用 gitbash 在 Windows 上配置 git 如所解释的here https help github com articles generating a new ssh key and adding it to the ssh
  • Git 克隆已经是克隆的存储库

    做这个手术有什么副作用吗 git clone已经是另一个远程存储库的克隆的存储库 没有副作用 但您应该准确了解克隆存储库时会发生什么 一些理论 问题 是 当您 以正常方式 克隆存储库时 即在调用时没有调整任何时髦的旋钮git clone y
  • Git分支切换不会改变代码文件夹文件

    这是后续this https stackoverflow com questions 9406651 code base for git master feature branch问题 我使用克隆了远程主项目文件夹git clone ema
  • 可以使用 git 项目并在 VS2013 中查看 TFS 工作项吗?

    所以我升级到了VS2013 希望能顺利进行所有开发 不过有一件事确实让我很恼火 我的团队使用 TFS 而我更喜欢 git 因此我使用 git tfs 来桥接两者以进行源代码控制 我们使用 TFS 工作项来跟踪错误和故事等 如果重要的话 我也
  • 在 GitHub 上看不到“在 Xcode 中打开”按钮

    正如在GitHub 和 Xcode 9 中的新源代码管理工作流程 https developer apple com videos play wwdc2017 405 time 204Apple 视频会话 我们可以直接从 Xcode 克隆项
  • 如何恢复已删除的文件[重复]

    这个问题在这里已经有答案了 可能的重复 在 Git 存储库中恢复已删除的文件 https stackoverflow com questions 953481 restore a deleted file in a git repo 如何恢
  • 当存储在变量中时,Git 提交消息变得混乱[重复]

    这个问题在这里已经有答案了 我有一个 Git 提交 其中有一个摘要 然后是一些描述 所以当我看到提交消息时git log format B n 1
  • git checkout 裸露,并在接收后包含子模块

    如何在包含子模块的接收后挂钩中检出服务器上的裸存储库 我目前将其作为接收后挂钩 bin bash http blog ekynoxe com 2011 10 22 git post receive for multiple remote b
  • 在 $git push -u origin main 命令之后,Git bash 不请求任何身份验证,实际上什么也不做

    当我尝试将代码上传到 github 时 以下是我在 Git Bash 终端中执行的步骤 当我尝试使用将代码推送到 github 时 git push u origin main光标移动到下一行并持续闪烁 但不执行任何操作 git remot
  • 如何在git中定义ESC字符?

    我想在 git 输出中使用着色 例如 git log decorate color 当我发出这个命令时 我得到的输出看起来像ESC 1 32m where ESC是反色的 在我看来 这是一个有效的转义序列 除了 033必须发送而不是字符E
  • 有没有办法显示 Visual Studio 执行的 Git 命令? [复制]

    这个问题在这里已经有答案了 在 Visual Studio Code 中 有一个 显示 Git 输出 菜单项 显示最近运行的 Git 命令 有关其外观的示例 请参阅3 35 在这个视频中 https code visualstudio co
  • Egit 拒绝接受 id_rsa

    我是第一次尝试在 Eclipse 中设置 egit 的 git 用户 这样我就可以继续通过 Eclipse 轻松编码 问题是 每次我尝试通过 egit 克隆存储库时 都会出现错误 无法列出可用分支 原因 ssh 电子邮件受保护 cdn cg
  • 使用可通过 FTP 访问的 Web 服务器进行 Git 托管?

    我运行一个 糟糕的 网站 托管在第三方网络服务器上 我可以通过 FTP 访问我的 Web 服务器 据推测 Git 本身具有通过 FTP 推送 拉取的能力 由于我的 Web 服务器已经可以随处访问 我希望将其用作集中式 Git 存储库 我可以
  • 从子文件夹自动部署 Heroku

    我知道你可以从github自动部署到heroku 但我还没有找到一种方法只将子文件夹从github推送到heroku 从命令行我知道可以通过以下方式执行此操作 git subtree push prefix
  • 如何在cygwin下更改git中文件的大小写?

    我们在区分大小写 不敏感的混合环境 cywgin linux 中工作 今天有人通过重命名文件 将 S 更改为 s 对我们的工作流程造成了小破坏 这导致了各种有趣的跨分支合并问题 而且说实话 没有人完全确定发生了什么 在 cygwin 的 g
  • git merge 和 git merge origin 之间的区别

    这不是一个关于git merge origin branch vs git merge origin branch git merge
  • 如何快速查看哪个 Git 分支是最新的?

    例如 如果 git 上有 4 个分支 如下所示 branch1 branch2 current branch branch3 newest commits here master oldest 我的问题是 如何从 git 命令行检查我当前的
  • Mac 操作系统屏幕上的 Git 自动补全

    我在 mac 上使用 git 并配置了自动完成功能 如下所示http www codethatmatters com 2010 01 git autocomplete in mac os x http www codethatmatters

随机推荐

  • civetweb框架学习和使用(一)

    背景 CivetWeb基于Mongoose项目 是一个易于使用 功能强大的C C 嵌入式Web服务器 在2013年8月16日 在编写和分发此项目所依据的原始代码后 Mongoosed的许可证已经更改了 因此 CivetWeb已从上一个MIT
  • Windows下在后台运行jar包

    为什么80 的码农都做不了架构师 gt gt gt 新建一个bat文件 输入 echo off start javaw jar xxx jar exit 执行这个批处理程序就可以在后台运行jar包了 转载于 https my oschina
  • FIddler之Fiddler移动端抓包

    前言 笔者今天的这篇文章呢 想使用通俗易懂的话语 让大家明白以下内容 什么是抓包哪些场景需要用到抓包Fiddler抓包的原理怎样使用Fiddler进行移动端抓包 一 抓包 包 Packet 是TCP IP协议通信传输中的数据单位 一般也称
  • Apache/Tomcat/JBOSS/Jetty/Nginx区别 与选择

    总结 Apache Tomcat JBOSS Nginx区别 1 Apache是Web服务器 Tomcat是应用 Java 服务器 Tomcat在中小型系统和并发访问用户不是很多的场合下被普遍使用 Apache支持静态页 Tomcat支持动
  • 千行代码bug率统计

    1 计算公式 千行代码bug率 bug数 代码行数 1000 2 bug率标准 CMMI级别中做出了相关的指标规定 千行代码缺陷率 bug率 CMM1级 11 95 CMM2级 5 52 CMM3级 2 39 CMM4级 0 92 CMM5
  • JWT(Json Web Token)的原理、渗透与防御

    关于JWT kid安全部分后期整理完毕再进行更新 2023 05 16 JWT的原理 渗透与防御 目录 JWT的原理 渗透与防御 含义 原理 JWT的起源 传统session认证问题 token与session区别 JWT的结构与内容 JW
  • CVPR 2020-Object Detection

    目录 2D目标检测 视频目标检测 2D目标检测 Large Scale Object Detection in the Wild From Imbalanced Multi Labels Rethinking Classification
  • 芯片手册中的英文的表示含义

    芯片手册中的英文的表示含义 在读芯片的数据手册的时候 会有一些英文表示不知道是什么含义 现在整理了一些在下面 1 ppm 在一些电压芯片数据手册里 有一个描述基准性能的直流参数 称为温度漂移 也称温度系数 或简称TC Temperature
  • 机器学习之朴素贝叶斯: sklearn.naive_bayes

    朴素贝叶斯 sklearn naive bayes 1 贝叶斯原理 2 朴素贝叶斯 3 朴素贝叶斯模型 3 1 多项式模型MultinomialNB 3 2 高斯模型GaussianNB 3 3 伯努利模型BernoulliNB 4 skl
  • Python爬虫之爬取CSDN人工智能栏目的文章

    在进行正式开始爬虫之旅前 我们要认识几个Python库 urllib2 Python标准库 该库中提供了一系列针对url的操作方法 re Python标准库 提供了一系列针对字符串匹配的方法 BeautifulSoup4 最主要的功能是从网
  • 【推荐算法】双塔模型介绍

    双塔模型的结构不仅在推荐领域的召回和粗排环节中被广泛采用 而且在其它领域 如文档检索 问答系统等都有它的应用场景 我们常说的双塔模型的结构 并不是一个固定不变的网络 而是一种模型构造思路 即把模型分成用户侧模型和物品侧模型两部分 然后用互操
  • LaTeX公式、图片编辑中的常见问题(字体、对齐、编号等)

    类似博文 https blog csdn net u011698800 article details 109456028 输入保留符号 LaTeX中有许多字符都有特殊的意义 LaTeX中的保留字符有 这些在正文中都不能直接呈现 反斜杠用
  • C++数据结构X篇_02_线性表基本概念(线性表是零或者多个数据元素的有限序列;有顺序,有限,类型必须相同;线性表是具有相同类型n个数据元素的有限序列(a0,a1,...an)ai是表项,n是表长度)

    接上篇C 数据结构X篇 01 数据结构的基本概念 本篇将会学习线性表的基本概念 线性表的基本概念 1 线性表的基本概念 1 1 线性表的基本概念 1 1 1 线性表的特性 1 2 线性表的数学定义 1 2 1 线性表的性质 1 3 线性表的
  • 好家伙谷歌翻译又不能用了(有效解决方法)

    今天打开idea想翻译单词发现谷歌翻译又又又挂了 为什么挂掉 可能是那个ip节点太多人用了 我也不懂我就是一个小白 不bb了说一下解决方法 一 手动Ping可以连接的ip 这里我使用的是 https ping chinaz com 然后我们
  • 适合有编程基础的人看的《韩顺平零基础30天学java》笔记(374~397)

    写在最前边 研究生一枚 为后端实习和未来工作打基础 无意间发现韩顺平老师的课程 细心细致 讲课和吴恩达老师一样 都是保姆式讲解 各种基础知识都会补充 爱了 韩顺平老师课程地址 https www bilibili com video BV1
  • 眼底图像血管增强与分割--(2)Gabor滤波算法原理及实现

    在http blog csdn net piaoxuezhong article details 78213672中介绍了匹配滤波算法用于血管分割 本篇继续介绍血管分割的另一种方法 Gabor滤波算法 具体可以参见论文 Retinal Ve
  • 大律法(OTSU) ——图像数据二值化

    二值化的目的 是确定一个像素值 以像素为分界 将图像划分为前景和背景 前景的像素值取相同值 背景的像素也取相同值 从而将前景和背景的差异 在图像中最大化 或者说可以突出前景或者背景信息 二值化可以有效的降低噪声 并且可以一定程度的增强目标特
  • 数据结构刷题:第十六天(基础)

    目录 一 颜色分类 1 单指针 复杂度分析 2 双指针 复杂度分析 二 合并区间 1 排序 思路 看题解 一 颜色分类 75 颜色分类 力扣 LeetCode https leetcode cn problems sort colors p
  • HDU-2000

    题目本身不难 但是对于初学者 难的是数据的读入 方法一 使用getchar 去除每一行的空格符 include
  • git撤回push代码方法 分支受保护 不受保护时 详解

    git撤回push代码方法 分支受保护 不受保护时 详解 1 分支受保护时用revert 1 先说结果 如果分支受保护 那么就不能reset方法来撤回 原因后面说 那么需要通过revert来撤回 2 可以的方法 git revert能够生成