💌 所属专栏:【Git】
😀 作 者:我是夜阑的狗🐶
🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!
💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘
您的点赞、关注、收藏、评论,是对我最大的激励和支持!!!🤩 🤩 🤩
前言
大家好,又见面了,我是夜阑的狗🐶,本文是专栏【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
分支, 然后重置 main
和 origin 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
运行结果如下图所示:
- Step 2、创建新分支
在指定的 C2 提交记录上创建新分支。
git checkout -b feature C2
运行结果如下图所示:
- Step 3、推送修改点
将前面创建好的 feature
分支推送到远程分支。
git push origin feature
运行结果如下图所示:
达成目标之后就会有成功的提示。
总结
感谢观看,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹
也欢迎你,关注我。👍 👍 👍
原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉
更多专栏订阅:
文章来源:https://www.toymoban.com/news/detail-858688.html
- 😀 【LeetCode题解(持续更新中)】
- 🌼 【鸿蒙系统】
- 👑 【Python脚本笔记】
- 🚝 【Java Web项目构建过程】
- 💛 【微信小程序开发教程】
- ⚽ 【JavaScript随手笔记】
- 🤩 【大数据学习笔记(华为云)】
- 🦄 【程序错误解决方法(建议收藏)】
- 🚀 【软件安装教程】
订阅更多,你们将会看到更多的优质内容!!文章来源地址https://www.toymoban.com/news/detail-858688.html
到了这里,关于【随笔】Git 高级篇 -- 远程服务器拒绝 git push & reset(三十二)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!