【随笔】Git 高级篇 -- 远程服务器拒绝 git push reset(三十二)

news/2024/9/23 22:40:40/

请添加图片描述

  • 💌 所属专栏:【Git】

  • 😀 作  者:我是夜阑的狗🐶

  • 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!

  • 💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘

您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩 🤩 🤩

请添加图片描述

文章目录

  • 前言
  • 一、远程分支
      • 1、介绍
      • 2、示范
      • 3、实战
        • (1)第一种方法
        • (2)第二种方法
  • 总结


前言

  大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Git】专栏的第三十二篇文章;
  这是今天学习到Git 高级篇 – 远程服务器拒绝 💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
  专栏地址:【Git】 , 此专栏是我是夜阑的狗对Git,Gitee等工具使用过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
  如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。


一、远程分支

  这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程,就让我们一步一步跟着教程学习吧,记录下自己的所感所悟。前面已经简单的学习了远程与本地不一致导致提交冲突如何解决,接下来就让我们看看在实际项目过程中提交遇到远程服务器拒绝是怎么解决的吧。话不多说,让我们原文再续,书接上回吧。

请添加图片描述

1、介绍

  如果你是在一个大的合作团队中工作, 很可能是main被锁定了, 需要一些 Pull Request 流程来合并修改。如果你直接提交(commit)到本地 main, 然后试图推送( push )修改, 你将会收到这样类似的信息:

! [远程服务器拒绝] main -> main (TF402455: 不允许推送(push)这个分支; 你必须使用pull request来更新这个分支.)

  为什么会被拒绝?远程服务器拒绝直接推送(push)提交到 main, 因为策略配置要求 pull requests 来提交更新。我们应该按照流程,新建一个分支, 推送( push )这个分支并申请 pull request,但是你忘记并直接提交给了 main。现在你卡住并且无法推送你的更新。
  那怎么解决呢?新建一个分支 feature,推送到远程服务器。然后 reset 我们的 main 分支和远程服务器保持一致,否则下次 pull 并且他人的提交和你冲突的时候就会有问题.
  从本地的 main 创建一个 feature 分支, 然后重置 mainorigin main 保持一致。

2、示范

  说了这么多,咱们还是看看实际案例吧!

git push origin feature

  这里把带有 C2 修改点的分支 feature 推送到远程仓库中,运行结果如下图所示:

请添加图片描述

3、实战

  从前面了解到具体的实现的步骤,就可以开始实战啦。这里先给大家说一下这个练习网站的一些使用技巧,

  • help 指令

  执行这个命令后就会有个帮助信息的弹窗。

在这里插入图片描述

  • levels 指令

  执行完这个命令之后就能看到关卡目录了。

在这里插入图片描述

  • 目标

在这里插入图片描述

  • 开始结构

在这里插入图片描述

(1)第一种方法

  第一种方法比较繁琐一点,需要通过多次选择分支来完成,接下来就让我们来看看是怎么操作的吧。

  • Step 1、创建分支

  首先在 main 分支创建新的分支 feature

git checkout -b feature

  很简单吧,运行结果如下图所示:

在这里插入图片描述

  • Step 2、推送

  将前面创建好的 feature 分支推送到远程分支。

git push origin feature

  运行结果如下图所示:

请添加图片描述

  • Step 3、选择 main 分支

  重新选中 main 分支进行后续回退的操作。

git checkout main

  运行结果如下图所示:

在这里插入图片描述

  • Step 4、回退分支

  回退 main 分支上的提交记录。

git reset o/main

  运行结果如下图所示:

在这里插入图片描述

  • Step 5、选中 feature

  最后在选中 feature 分支完成目标关卡。

git checkout feature

  运行结果如下图所示:

在这里插入图片描述

(2)第二种方法

  相比于第一种方法,第二种就简洁很多了,通过 reset 命令的 hard 参数回退提交点,接下来就让我们来看看是怎么操作的吧。

  • Step 1、回退 main 提交

  --hard 参数表示重置模式为硬重置,这意味着 Git 会将工作区、暂存区和本地仓库中的文件全部回退到指定状态,没有任何备份,慎用此命令,因为会导致未提交的更改丢失。

  • 硬重置
git reset --hard o/main
  • 软重置

  这里 软重置 是本人联想到的词来形容不带 hard 参数的 reset 命令。

git reset o/main

  运行结果如下图所示:

<a class=git " />

  • Step 2、创建新分支

  在指定的 C2 提交记录上创建新分支。

git checkout -b feature C2

  运行结果如下图所示:

<a class=git p" />

  • Step 3、推送修改点

  将前面创建好的 feature 分支推送到远程分支。

git push origin feature

  运行结果如下图所示:

请添加图片描述

  达成目标之后就会有成功的提示。

在这里插入图片描述


总结

  感谢观看,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹

在这里插入图片描述

  也欢迎你,关注我。👍 👍 👍

  原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉

更多专栏订阅:

  • 😀 【LeetCode题解(持续更新中)】
  • 🌼 【鸿蒙系统】
  • 👑 【Python脚本笔记
  • 🚝 【Java Web项目构建过程】
  • 💛 【微信小程序开发教程】
  • 【JavaScript随手笔记
  • 🤩 【大数据学习笔记(华为云)】
  • 🦄 【程序错误解决方法(建议收藏)】
  • 🚀 【软件安装教程】



订阅更多,你们将会看到更多的优质内容!!


http://www.ppmy.cn/news/1424793.html

相关文章

单细胞RNA测序(scRNA-seq)cellranger count的细胞定量和aggr整合

单细胞RNA测序(scRNA-seq)基础知识可查看以下文章: 单细胞RNA测序(scRNA-seq)工作流程入门 单细胞RNA测序(scRNA-seq)细胞分离与扩增 单细胞RNA测序(scRNA-seq)SRA数据下载及fastq-dumq数据拆分 单细胞RNA测序(scRNA-seq)Cellranger流程入门和数据质控 细胞定量…

HarmonyOS实战开发-如何实现媒体提供方与媒体控制方自定义信息的交互功能。

介绍 本示例主要展示了媒体会话&#xff08;媒体控制方&#xff09;的相关功能&#xff0c;使用ohos.multimedia.avsession等接口实现媒体提供方与媒体控制方自定义信息的交互功能。 注意&#xff1a; 此示例中媒体控制方所使用的能力仅对系统应用开放&#xff0c;更多信息请参…

网络协议安全:SSL/TLS协议详解,SSL协议执行原理、报文格式解析,Wireshark抓包分析SSL协议

「作者简介」&#xff1a;2022年北京冬奥会中国代表队&#xff0c;CSDN Top100&#xff0c;学习更多干货&#xff0c;请关注专栏《网络安全自学教程》 SSL协议 1、SSL协议发展史2、SSL协议执行过程3、SSL报文格式字段解析3.1、TLS报文头3.2、Handshake报文 4、Wireshark抓包分析…

Ubuntu 22.04.4安装Docker引擎

正文共&#xff1a;1024 字 13 图&#xff0c;预估阅读时间&#xff1a;1 分钟 我们前面安装了几次Ubuntu的操作系统&#xff08;Ubuntu 23.10通过APT安装Open vSwitch&#xff09;&#xff0c;在开始之前&#xff0c;我还是简单提醒一下&#xff0c;从Ubuntu下载页面&#xff…

基于React Router6 TS实现路由守卫

定义路由表 import {BrowserRouter, Route, RouteObject, Routes,} from "react-router-dom"; import {Home, Login, NotFound} from "/views"; import {RouterGuard} from "/routers/router_guard.tsx"; import {ReactNode} from "react&…

ChatGPT与Python-GEE融合,遥感云大数据分析、管理与可视化

掌握Earth Engine的实际应用能力&#xff0c;以Python为基础&#xff0c;结合实例讲解平台搭建、影像数据分析、经典应用案例、本地与云端数据管理&#xff0c;以及云端数据论文出版级可视化等技能。 为提高教学质量&#xff0c;将融入ChatGPT 4、Claude Opus、Gemini、文心一…

什么是MOV视频格式?如何把MP4视频转MOV视频格式?

一&#xff0c;前言 当然可以&#xff0c;MP4视频可以转换为MOV格式。这两种格式都是常见的视频文件格式&#xff0c;它们都可以用于存储和播放视频内容。虽然它们的编码方式和特性有所不同&#xff0c;但使用合适的视频转换工具可以轻松地将MP4视频转换为MOV格式。 二&#…

【MySQL | 第六篇】数据库三大范式

文章目录 6.数据库设计三大范式6.1第一范式6.2第二范式6.3第三范式6.4反范式设计 6.数据库设计三大范式 6.1第一范式 第一范式&#xff08;1NF&#xff09;&#xff1a;确保每列的原子性(强调的是列的原子性&#xff0c;即列不能够再分成其他几列)。实际上&#xff0c;第一范式…