v2还原到v1

1、强制还原(git reset)

如果使用这种方式还原到v1,将丢失还原到v1到v2之间的所有提交及日志。

1.1显示日志

有save1、save2两条提交记录。

1.2 重置版本(本地分支还原)

使用硬重置,否则重置后,还会有未提交的文件。重置到save1版本。

1.3 提交(推送到远程分支)

因为我们本地库版本比远程库版本低,需要强制推送

1.4 缺点

这种方式回退代码的弊端显而易见,那就是会使 HEAD 指针往回移动,从而会失去之后的提交信息。将来如果突然发现,save2 的代码是有用的,但是已经找不回来了。

2、温和还原(checkout)

为保留v1-v2的提交和历史记录,可以使用该方式。

2.1导出还原版本(v1)

2.2 提交还原版本(v1)

将导出的版本作为新版本v3提交。

3、温和还原(git revert)

git revert的作用通过反做创建一个新的版本,这个版本的内容与我们要回退到的目标版本一样,但是HEAD指针是指向这个新生成的版本,而不是目标版本。

3.1 显示日志

每次提交创建一个类,分别为Test1、Test2、Test3。

3.2 还原此版本做出的变更

还原Test2版本

还原后,test2版本提交的代码被取消了(即Test2类被删除了)。

3.3 提交

可以将修改代码提交到远程

查看日志,以前的提交记录没有丢失,最新的为刚提交版本。

tortoisegit 还原远程分支到某个版本的更多相关文章

  1. git拉取远程分支并创建本地分支和Git中从远程的分支获取最新的版本到本地

    git拉取远程分支并创建本地分支 一.查看远程分支 使用如下Git命令查看所有远程分支: git branch -r 二.拉取远程分支并创建本地分支 方法一 使用如下命令: git checkout ...

  2. Git查看、删除、重命名远程分支和tag【转】

    转自:http://zengrong.net/post/1746.htm 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也 ...

  3. [05]Git查看、删除、重命名远程分支和tag

    Git查看.删除.重命名远程分支和tag 2015-06-15:加入姊妹篇: 2013-11-06:加入重命名远程分支的内容: 2013-01-09:加入删除远程tag的内容. 姊妹篇:使用Git.G ...

  4. git 创建远程分支和删除 master 分支

    . . . . . 最近需要将不同的客户的代码分开管理,所以需要为这些代码分别创建分支. 目前版本库中分支结构如下: [yuhuashi@local:Project]$ git branch -a* ...

  5. Git查看、删除、重命名远程分支和tag(转)

    转:http://zengrong.net/post/1746.htm 这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支 删除远程分支和tag 删除不存在对应远程 ...

  6. git 查看远程分支、本地分支、创建分支、把分支推到远程repository、删除本地分支

    1 查看远程分支 $ git branch -a * br-2.1.2.2 master remotes/origin/HEAD -> origin/master remotes/origin/ ...

  7. 【git】删除某个文件的所有历史记录,批量删除远程分支

    删除git某个文件的所有历史记录 git的目的就是版本控制,记录每一个版本的变动.然而有的时候我们往往希望从版本库中彻底删除某个文件,不再显示在历史记录中.例如不小心上传了一堆错误的文件,或者不小心上 ...

  8. Git查看、删除、重命名远程分支和tag

    这篇文章记录我在使用git的过程中碰到远程分支和tag的相关内容,提纲: 查看远程分支 删除远程分支和tag 删除不存在对应远程分支的本地分支 重命名远程分支 把本地tag推送到远程 获取远程tag ...

  9. git - 远程分支

    对于用户来说,git给人提交到本地的机会.我们可以在自己的机器上创建不同的branch,来测试和存放不同的代码. 对于代码管理员而言,git有许多优良的特性.管理着不同的分支,同一套源代码可以出不一样 ...

  10. git对远程分支和tag的操作

    技术 Git查看.删除.重命名远程分支和tag 11/17/2012zrong7条评论69,235 次查看 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转 ...

随机推荐

  1. Win10家庭/企业/教育版均可升级到专业版

    升级前,先备份现有KEY: cmd中输入 regedit 打开注册表,根据下面路径找到 BackupProductKeyDefault 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\ ...

  2. 使用 🤗 Transformers 优化文本转语音模型 Bark

    Transformers 提供了许多最新最先进 (state-of-the-art, SoTA) 的模型,这些模型横跨多个领域及任务.为了使这些模型能以最佳性能运行,我们需要优化其推理速度及内存使用. ...

  3. 原创内容屡屡被盗?从源头对资源盗用说NO

    在这个信息化的时代,资源被盗用是一件很让人厌恶,但又很常见的事.比如,之前郭敬明的小说<梦里花落知多少>剽窃庄羽小说<圈里圈外>一事,虽然郭敬明通过个人微博向庄羽道歉,并表示& ...

  4. LiveData的用法

    一.实时数据LiveData 在上一节中,我们学习了ViewModel,了解到ViewModel的主要作用是存放页面所需要的各种数据.我们在示例代码中定义了接口,当数据发生变化的时候,采用接口的方式实 ...

  5. MPI Maelstrom POJ - 1502 ⭐⭐ 【Dijkstra裸题】

    MPI Maelstrom POJ - 1502 实验室有很多台计算机,由于每个人计算机的性能不同,导致计算机之间发送信息的速度不同,所以花费时间不同. 消息从第一台电脑发送到第二台电脑后,这两台电脑 ...

  6. vue 状态管理 一、状态管理概念和基本结构

    系列导航 vue 状态管理 一.状态管理概念和基本结构 vue 状态管理 二.状态管理的基本使用 vue 状态管理 三.Mutations和Getters用法 vue 状态管理 四.Action用法 ...

  7. <vue 组件 2、组件参数传递>

    代码结构 一.     01-父组件向子组件传递数据 1. 效果 展示出来的数据都是父组件传给子组件的数据 2.代码 01-父组件向子组件传递数据.html <!DOCTYPE html> ...

  8. Java面试——框架知识点

    Spring 概念 spring是个java企业级应用的开源框架.spring主要用来开发java应用,但是有些扩展是针对J2EE平台的文本应用.Spring框架目标是简化java企业级应用的开发,并 ...

  9. freeswitch配置SBC实例

    概述 freeswitch 是一款好用的开源软交换平台. 随着voip客户的发展和运营商网络的升级换代,SBC在对接测试中的应用场景越来越多. freeswitch通过简单的安装配置即可满足大部分SB ...

  10. VS2019 16.8下载安装

    昨天,想升级到 net5版本,发现在vs2019上始终发现不了它,考虑好几个小时,终于狠下心,把vs2019卸载了,重新装一次.耗费了一个晚上,先将安装过程写下来,以供参考 第一步, 到 微软官网 h ...