Loading...
墨滴

百无聊赖

2021/06/25  阅读:44  主题:绿意

Git恢复之前版本的两种方法reset、revert(图文详解)

参考

Git 恢复之前版本的两种方法 reset、revert(图文详解)

一、问题描述 在利用 github 实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。

方法二:git revert 原理: git revert 是用于“反做”某一个版本,以达到撤销该版本的修改的目的。比如,我们 commit 了三个版本(版本一、版本二、 版本三),突然发现版本二不行(如:有 bug),想要撤销版本二,但又不想影响撤销版本三的提交,就可以用 git revert 命令来反做版本二,生成新的版本四,这个版本四里会保留版本三的东西,但撤销了版本二的东西。如下图所示:

适用场景: 如果我们想撤销之前的某一版本,但是又想保留该目标版本后面的版本,记录下这整个版本变动流程,就可以用这种方法。

具体操作: 举个例子,现在库里面有三个文件:READ.md、text.txt、text2.txt。

  1. 查看版本号: 可以通过命令行查看(输入 git log): 如图,最近的两个版本分别叫:“add text.txt”(即新增了文件 text.txt)、“add text2.txt”(新增了文件 text2.txt)。这个时候我们不需要 text.txt 这个文件了,那就是说不想要“add text.txt”那个版本的操作,那可以通过反做“add text.txt”这个版本来实现。

也可以通过 github 网站图形化界面查看版本号:

2.使用“git revert -n 版本号”反做,并使用“git commit -m 版本名”提交: (1)反做,使用“git revert -n 版本号”命令。如下命令,我们反做版本号为 8b89621 的版本:

git revert -n 8b89621019c9adc6fc4d242cd41daeb13aeb9861 1 注意: 这里可能会出现冲突,那么需要手动修改冲突的文件。而且要 git add 文件名。 (2)提交,使用“git commit -m 版本名”,如:

git commit -m "revert add text.txt" 1 此时可以用“git log”查看本地的版本信息,可见多生成了一个新的版本,该版本反做了“add text.txt”版本,但是保留了“add text2.txt”版本:

3.使用“git push”推上远程库:

git push 1 查看 github 上显示的远程库版本信息:

此时查看仓库的文件,剩下两个:READ.md、text2.txt

反做成功! ———————————————— 版权声明:本文为 CSDN 博主「游笑天涯」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/yxlshk/article/details/79944535

百无聊赖

2021/06/25  阅读:44  主题:绿意

作者介绍

百无聊赖