【随笔】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

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

git使用的说明总结

Git使用说明 下载安装(下载地址) macOS: Git - Downloading macOS Windows: Git - Downloading Windows Linux/Unix: Git (git-scm.com) 创建新仓库 本地创建新仓库:创建新文件夹,进入文件夹目录,执行指令 git init ,用以创建新的git 克隆仓库 执行指令用以创建一个本地仓库的

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

git ssh key相关

step1、进入.ssh文件夹   (windows下 下载git客户端)   cd ~/.ssh(windows mkdir ~/.ssh) step2、配置name和email git config --global user.name "你的名称"git config --global user.email "你的邮箱" step3、生成key ssh-keygen

查看提交历史 —— Git 学习笔记 11

查看提交历史 查看提交历史 不带任何选项的git log-p选项--stat 选项--pretty=oneline选项--pretty=format选项git log常用选项列表参考资料 在提交了若干更新,又或者克隆了某个项目之后,你也许想回顾下提交历史。 完成这个任务最简单而又有效的 工具是 git log 命令。 接下来的例子会用一个用于演示的 simplegit

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

忽略某些文件 —— Git 学习笔记 05

忽略某些文件 忽略某些文件 通过.gitignore文件其他规则源如何选择规则源参考资料 对于某些文件,我们不希望把它们纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表。通常它们都是些自动生成的文件,比如日志文件、编译过程中创建的临时文件等。 通过.gitignore文件 假设我们要忽略 lib.a 文件,那我们可以在 lib.a 所在目录下创建一个名为 .gi

取得 Git 仓库 —— Git 学习笔记 04

取得 Git 仓库 —— Git 学习笔记 04 我认为, Git 的学习分为两大块:一是工作区、索引、本地版本库之间的交互;二是本地版本库和远程版本库之间的交互。第一块是基础,第二块是难点。 下面,我们就围绕着第一部分内容来学习,先不考虑远程仓库,只考虑本地仓库。 怎样取得项目的 Git 仓库? 有两种取得 Git 项目仓库的方法。第一种是在本地创建一个新的仓库,第二种是把其他地方的某个

Git 的特点—— Git 学习笔记 02

文章目录 Git 简史Git 的特点直接记录快照,而非差异比较近乎所有操作都是本地执行保证完整性一般只添加数据 参考资料 Git 简史 众所周知,Linux 内核开源项目有着为数众多的参与者。这么多人在世界各地为 Linux 编写代码,那Linux 的代码是如何管理的呢?事实是在 2002 年以前,世界各地的开发者把源代码通过 diff 的方式发给 Linus,然后由 Linus