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

2024-04-19 16:36

本文主要是介绍【随笔】Git 高级篇 -- 远程服务器拒绝 git push reset(三十二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

请添加图片描述

  • 💌 所属专栏:【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

  运行结果如下图所示:

git

  • Step 2、创建新分支

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

git checkout -b feature C2

  运行结果如下图所示:

git p

  • Step 3、推送修改点

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

git push origin feature

  运行结果如下图所示:

请添加图片描述

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

在这里插入图片描述


总结

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

在这里插入图片描述

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

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

更多专栏订阅:

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



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

这篇关于【随笔】Git 高级篇 -- 远程服务器拒绝 git push reset(三十二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/918076

相关文章

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

CentOS 7部署主域名服务器 DNS的方法

《CentOS7部署主域名服务器DNS的方法》文章详细介绍了在CentOS7上部署主域名服务器DNS的步骤,包括安装BIND服务、配置DNS服务、添加域名区域、创建区域文件、配置反向解析、检查配置... 目录1. 安装 BIND 服务和工具2.  配置 BIND 服务3 . 添加你的域名区域配置4.创建区域

IDEA中Git版本回退的两种实现方案

《IDEA中Git版本回退的两种实现方案》作为开发者,代码版本回退是日常高频操作,IntelliJIDEA集成了强大的Git工具链,但面对reset和revert两种核心回退方案,许多开发者仍存在选择... 目录一、版本回退前置知识二、Reset方案:整体改写历史1、IDEA图形化操作(推荐)1.1、查看提

Windows Server服务器上配置FileZilla后,FTP连接不上?

《WindowsServer服务器上配置FileZilla后,FTP连接不上?》WindowsServer服务器上配置FileZilla后,FTP连接错误和操作超时的问题,应该如何解决?首先,通过... 目录在Windohttp://www.chinasem.cnws防火墙开启的情况下,遇到的错误如下:无法与

Java进阶学习之如何开启远程调式

《Java进阶学习之如何开启远程调式》Java开发中的远程调试是一项至关重要的技能,特别是在处理生产环境的问题或者协作开发时,:本文主要介绍Java进阶学习之如何开启远程调式的相关资料,需要的朋友... 目录概述Java远程调试的开启与底层原理开启Java远程调试底层原理JVM参数总结&nbsMbKKXJx

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization

Git如何修改已提交人的用户名和邮箱

《Git如何修改已提交人的用户名和邮箱》文章介绍了如何修改Git已提交人的用户名和邮箱,包括注意事项和具体步骤,确保操作正确无误... 目录git修改已提交人的用户名和邮箱前言第一步第二步总结git修改已提交人的用户名和邮箱前言需注意以下两点内容:需要在顶层目录下(php就是 .git 文件夹所在的目

Windows server服务器使用blat命令行发送邮件

《Windowsserver服务器使用blat命令行发送邮件》在linux平台的命令行下可以使用mail命令来发送邮件,windows平台没有内置的命令,但可以使用开源的blat,其官方主页为ht... 目录下载blatBAT命令行示例备注总结在linux平台的命令行下可以使用mail命令来发送邮件,Win

Ubuntu 22.04 服务器安装部署(nginx+postgresql)

《Ubuntu22.04服务器安装部署(nginx+postgresql)》Ubuntu22.04LTS是迄今为止最好的Ubuntu版本之一,很多linux的应用服务器都是选择的这个版本... 目录是什么让 Ubuntu 22.04 LTS 变得安全?更新了安全包linux 内核改进一、部署环境二、安装系统