💌 所属专栏:【Git】
😀 作 者:我是夜阑的狗🐶
🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询!
💖 欢迎大家:这里是CSDN,我总结知识的地方,喜欢的话请三连,有问题请私信 😘 😘 😘
文章目录
- 前言
- 一、Git 撤销变更
- 1、介绍
- 2、示范
- (1)Git Reset
- (2)Git Revert
- 3、实战
- 总结
前言
大家好,又见面了,我是夜阑的狗🐶,本文是专栏【Git】专栏的第十四篇文章;
这是今天学习到Git 高级篇 – 撤销变更 💖💖💖,开启新的征程,记录最美好的时刻🎉,每天进步一点点。
专栏地址:【Git】 , 此专栏是我是夜阑的狗对Git,Gitee等工具使用过程的总结,希望能够加深自己的印象,以及帮助到其他的小伙伴😉😉。
如果文章有什么需要改进的地方还请大佬不吝赐教👏👏。
一、Git 撤销变更
这里给大家推荐一个好用的 Git在线练习地址。在这练习网站里面也有自己的教程,就让我们一步一步跟着教程学习吧,记录下自己的所感所悟。前面已经简单的讲解了Git 相对引用的用法,接下来就跟着学习Git 的撤销变更吧。话不多说,让我们原文再续,书接上回吧。
1、介绍
在 Git 里撤销变更的方法很多。和提交一样,撤销变更由底层部分(暂存区的独立文件或者片段)和上层部分(变更到底是通过哪种方式被撤销的)组成。我们这个应用主要关注的是后者。
主要有两种方法用来撤销变更 —— 一是 git reset
,还有就是 git revert
。接下来咱们逐个进行讲解。
2、示范
(1)Git Reset
git reset
通过把分支记录回退几个提交记录来实现撤销改动。你可以将这想象成“改写历史”。git reset
向上移动分支,原来指向的提交记录就跟从来没有提交过一样。让我们来看看演示:
git reset HEAD~1
运行结果如下图所示:
Git 把 main
分支移回到 C1
;现在我们的本地代码库根本就不知道有 C2
这个提交了。(注意:在reset后, C2 所做的变更还在,但是处于未加入暂存区状态。)
(2)Git Revert
虽然在你的本地分支中使用 git reset
很方便,但是这种“改写历史”的方法对大家一起使用的远程分支是无效的哦!为了撤销更改并分享给别人,我们需要使用 git revert
。来看演示:
git revert HEAD
运行结果如下图所示:
在这里我们看到要撤销的提交记录后面居然多了一个新提交!这是因为新提交记录 C2'
引入了更改 —— 这些更改刚好是用来撤销 C2
这个提交的。也就是说 C2'
的状态与 C1
是相同的。revert
之后就可以把你的更改推送到远程仓库与别人分享啦。
要完成此关,分别撤销 local
分支和 pushed
分支上的最近一次提交。共需要撤销两个提交(每个分支一个)。记住 pushed
是远程分支,local
是本地分支 —— 这么说你应该知道用分别哪种方法了吧?
3、实战
从前面了解到具体的实现的步骤,就可以开始实战啦。这里给大家说一下这个练习网站的一些使用技巧,
- help 指令
执行这个命令后就会有个帮助信息的弹窗。
- levels 指令
执行完这个命令之后就能看到关卡目录了。
- 目标
- 开始结构
- Step 1、撤销 local
这里为了撤销本地提交,所以要用 git reset
指令来进行撤销,这样只能修改到本地记录;
git reset HEAD~1
运行结果如下图所示:
- Step 2、指向pushed
在撤销 pushed
之前,首先把 HEAD
指向 pushed
分支;
git checkout pushed
运行结果如下图所示:
- Step 3、撤销pushed
这里为了撤销远端分支,需要使用 git revert
来进行撤销,这样远程分支也有撤销 commit
,协同开发者也会看到,项目过程中运行该命令可能会比较多点;
git revert HEAD
运行结果如下图所示:
达成目标之后就会有成功的提示。
总结
感谢观看,如果觉得有帮助,请给文章点个赞吧,让更多的人看到。🌹 🌹 🌹
也欢迎你,关注我。👍 👍 👍
原创不易,还希望各位大佬支持一下,你们的点赞、收藏和留言对我真的很重要!!!💕 💕 💕 最后,本文仍有许多不足之处,欢迎各位认真读完文章的小伙伴们随时私信交流、批评指正!下期再见。🎉
更多专栏订阅:
- 😀 【LeetCode题解(持续更新中)】
- 🌼 【鸿蒙系统】
- 👑 【Python脚本笔记】
- 🚝 【Java Web项目构建过程】
- 💛 【微信小程序开发教程】
- ⚽ 【JavaScript随手笔记】
- 🤩 【大数据学习笔记(华为云)】
- 🦄 【程序错误解决方法(建议收藏)】
- 🚀 【软件安装教程】
订阅更多,你们将会看到更多的优质内容!!