Git使用(3):版本管理

一、查看历史

        编写一个java类进行测试

        选择Git -> Show Git Log查看日志。

        第一次修改推送到远程仓库了,所以有origin(远程仓库地址),第二次修改只提交到本地仓库所以没有。

二、版本回退

1、本地回退

        在要回退的版本上右键,复制版本号。

       

        选择Git -> Reset HEAD...选项。

        选择Hard类型,将回退的版本号复制进去。

        日志和代码都回退到指定的版本了。

         三种回退模式解析

 

  • hard:会清空工作目录和暂存区的改动。
  • soft:会保留工作目录的内容,并把因为保留工作目录内容所带来的新的文件差异放进暂存区。
  • mixed:git reset 如果不加参数,那么默认使用 --mixed 参数。此时表示要:保留工作目录,并清空暂存区。

2、远程仓库回退

        上面一种情况是还没有把修改提交到远程仓库的回退,是比较好修改的。下面要介绍的远程仓库版本回退就没有那么容易了。接下来还是构造一下场景,接着上面的程序版本,首选对Main进行第三次修改,提交修改并推送到远程Github仓库上。下面是修改后的结果。(第三次忘改备注了)

        复制版本号进行本地回退。

        可以看到Main文件的内容确实回退了,本地master也指向了第二次提交,但是远程仓库origin/master依然指向的是第三次提交,这会出现问题的。接下来我们要把本地“版本退回”这个修改提交到远程仓库上去。

         可以看到拒绝了推送。其原因应该是远程仓库的仓库快照(commit)是提前我们本地的,所以不行。那现在怎么解决呢?

        首先点击Cancel。然后我们复制刚才回退之前的最新版本的版本号,也就是第三次提交的版本号。

        然后再进行本地版本退回,不过这次要选择Mixed类型,把我们上边复制的退回之前的最新版本号粘贴进去。

        然后点击Reset按钮,可以看到文件内容没变,但是本地master和远程origin/master都指向第三次修改。

        接下来就是先提交修改,然后向远程仓库推送这一次的修改了。

        查看远程仓库,内容回到第二次提交了。

三、拉取远程仓库

点击Git->pull就可以进行拉取远程库内容了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/700854.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx的正向代理与反向代理

你好呀,我是赵兴晨,文科程序员。 今天,我们将一起了解什么是Nginx的正向代理?什么是Nginx的反向代理?并实际动手实践。 以下内容都是满满的干货,绝对不容错过。我建议先收藏这篇文章,然后找一…

吴恩达深度学习笔记:优化算法 (Optimization algorithms)2.1-2.2

目录 第二门课: 改善深层神经网络:超参数调试、正 则 化 以 及 优 化 (Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)第二周:优化算法 (Optimization algorithms)2.1 Mini-batch 梯度下降(Mini-b…

【科研】常用的实验结果评价指标(2) —— MAE 是什么? !

了解MAE 提示:先说概念,后续再陆续上代码 文章目录 了解MAE前言一、MAE 基本概念1. MAE 是什么?2. MAE 的起源3. MAE 的计算公式 二、MAE的适用场景是什么?三、MAE 的劣势,或 不适用于那些场景或者数据?四、…

一个小调整,竟然让交换机、路由器的CPU占用率降低了50%

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 下午好,我的网工朋友。 在信息时代下,不仅仅在网络工程领域,高CPU占用率都是一个非常常见的问题,…

JavaScript中带日期的操作

当我们把日期转换为Number类型的时候,就会变成时间戳(毫秒) const future new Date(2037, 10, 19, 15, 23); console.log(Number(future)); // console.log(future); //与上行代码等效● 所以我们就可以利用时间戳去做点东西,例…

Spring整合其他技术

文章目录 Spring整合mybatis思路分析Mybatis程序核心对象分析整合Mybatis 代码实现 Spring整合Junit修改成警告 Spring整合mybatis 思路分析 Mybatis程序核心对象分析 上面图片是mybatis的代码,上述有三个对象,分别是sqlSessionFactory,sqlS…

7nm项目之模块实现——02 Placeopt分析

一、Log需要看什么 1.log最后的error 注意:warnning暂时可以不用过于关注,如果特别的warning出现问题,在其他方面也会体现 2.run time 在大型项目实际开发中,周期一般较长,可能几天过这几周,所以这就需要…

Linux - make与makefile

文章目录 什么是make和makefile如何使用依赖关系 和 依赖方法伪目标 写个程序-进度条换行和回车的区别 什么是make和makefile make是一个命令 makefile是一个文件 这就是make和makefile的本质 make和 ll , pwd ,su 一样都是命令 makefile和 test , test.c 一样都是…

【408精华知识】计算机系统结构

感觉教材和网络上对于计算机系统的结构描述都比较模糊,我自己对其进行了总结,并且画出图,不过因为学习的还是不够深入和全面,有的地方肯定是有问题的,烦请大家批评指正,我会进行修改~ 文章目录 零、结构图总…

比大小(打擂台)(C语言)

一、运行结果&#xff1b; 二、源代码&#xff1b; # define _CRT_SECURE_NO_WARNINGS # include <stdio.h>//声明比较大小函数max; int max(int a, int b);int main() {//初始化变量值&#xff1b;int i, n, m, a[10];//填充数组&#xff1b;printf("请输入10个数…

电力系统潮流计算的计算机算法(一)——网络方程、功率方程和节点分类

本篇为本科课程《电力系统稳态分析》的笔记。 本篇为这一章的第一篇笔记。下一篇传送门。 实际中的大规模电力系统包含成百上千个节点、发电机组和负荷&#xff0c;网络是复杂的&#xff0c;需要建立复杂电力系统的同一潮流数学模型&#xff0c;借助计算机进行求解。 简介 …

C++基础语法之数组

一、一维数组 在C中&#xff0c;一维数组是一系列具有相同数据类型的元素的集合。它们在内存中是连续存储的&#xff0c;可以通过索引访问每个元素。 一维数组的声明形式如下&#xff1a; 数据类型 数组名[常量表达式] 例如&#xff1a; // 声明一个能存储10个整数的数组 in…