Git时光机、Git标签、Git分支、GitHub协作

Git时光机(切换版本)

1.查看提交历史

HEAD指针指向这次分支的最后一次提交
在这里插入图片描述

版本信息一行显示【git log --pretty=oneline】

在这里插入图片描述

2.引用日志【git reflog】 (只在自己的工作区中存在)

非常重要:当HEAD指针进行切换之后,日志会受到影响(比如切换到之前的版本,那git log不能在查看这之后的提交日志,但git reflog的引用日志会保存信息)
在这里插入图片描述

3.查看当前HEAD指向版本的详情信息【git show】

git show
git show HEAD
git show HEAD+字符
//查看HEAD对应的上一条引用日志的详情信息
git show HEAD^
git show HEAD~
//查看HEAD对应的上上一条引用日志的详情信息
git show HEAD~~
git show HEAD^^
git show HEAD~数字 //查看HEAD对应的上数字条引用日志的详情信息
git show HEAD@{6} //查看对应任意引用日志对应的详情信息
在这里插入图片描述

4.git 生成的hash串,用于版本切换

在这里插入图片描述
通过这个hash串的前位数字用于版本切换(最少前4为,如果项目维护了好多年最少前七位)
在这里插入图片描述

5.切换版本【git reset --hard 版本号】

在这里插入图片描述

详解

git reset --soft 版本:回退到某个版本,保留工作区和暂存区,只回退commit的信息
git reset --mixed(默认) 版本:默认方式,回退到某个版本,只保留工作区,回退commit和add的信息
git resert --hard 版本,将会使用指定的版本覆盖工作区、暂存区(慎用)

【git revert重做一个新的版本】(取代git reset 方式回退版本的弊端)

git reset方式会使HEAD指针往回移动,从而丢失之后的提交信息

重做一个版本
git revert -n a124d9f  //-n 或者--no-commit 表示先重做,一会我自己手动提交              

重做之后(手动提交这次操作的日志 ):
在这里插入图片描述

重做多个版本
git revert -n OLD_SHA-1~..NEW_SHA-1     //区间是左开右闭,则对左边的区间用~修饰

在这里插入图片描述

Git标签

1.创建标签

创建附注标签
给当前版本打标签
git tag -a 标签名 -m "标签信息"

在这里插入图片描述

给之前的版本打标签
git tag -a 标签名 -m "标签信息" 指定版本的hash值

在这里插入图片描述

创建轻量标签

2.查看标签

3.推送标签

4.删除标签

GIt分支

在这里插入图片描述

1.创建分支

//创建并切换到新分支
git checkout -b 新分支名
//相当于
git branch 新分支名  //创建分支
git checkout 分支名  //切换分支

2.删除分支

git checkout -d 分支名

3.切换分支,并创建紧急修复分支

//先切换到主分支
//然后创建并切换到hotfix
git checkout -b hotfix
//对bug进行修复并提交

在这里插入图片描述

  1. 切换到主分支,比较差异
    在这里插入图片描述
  2. 分支合并(master版本只做了平滑移动)
git merge hotfix  //将hotfix分支合并到主分支上

在这里插入图片描述

4.删除hotfix分支
在这里插入图片描述

4.功能开发分支

1.需求完成后对开发分支进行提交
在这里插入图片描述

应该吧feature-1合并到v6而不是合并到v8,则应做的合并是v6\v8\v6合并到一起
在这里插入图片描述
合并功能分支并提交(生成一个新的版本)

git merge 功能分支名 -m "备注信息"

在这里插入图片描述

5.查看本地分支

查看分支

git branch   

查看每个分支最后一次的提交

git branch -v

在这里插入图片描述
查看已经合并的分支

git branch --merged

指定查看哪些分支合并到master

git branch --merged master

查看未合并的分支

git branch --no-merged

指定查看哪些分支未合并到master

git branch --no-merged master

回复被删除的分支(用指定的版本去创建分支)
使用引用日志中的版本号(引用日志只在开发者本地有,别人不可能看到你的引用日志然后去恢复)

git branch 被删除的分支名  hash版本号

在这里插入图片描述
重命名分支

git branch -m 旧分支名  新分支名

7.分支合并

起因:我们从master分支切出一个feature1分支进行开发,此时,你的同事完成了一次hotfix 并合并入了master分支,此时master分支已经领先于你的feature1分支了

git merge master(推荐)
git merge master

在这里插入图片描述
在这里插入图片描述

git rebase master(危险)

在记录里我们发现一些merge信息,但是我们觉得这样污染了我们的commit记录,想要保持一份干净的commit记录怎么办?

先退回到同事hotfix后合并master的步骤
在feature1分支下使用
git rebase master

具体操作:
1.git会把feature1分支里面的每个commit取消
2.把上面的临时操作保存成patch文件,存在.gti/rebase目录下
3.把feature1分支更新到最新的master分支上
4.最后把上面保存的patch文件应用到feature1分支上
在这里插入图片描述

如果两个人同在feature-1上工作,那么git rebase将会是一个危险的指令,你们两个的分支不同,那么你同事在pull远程master的时候,会丢失提交记录
在这里插入图片描述

8.远程分支

查看远程分支

在这里插入图片描述

推送分支
git push 远程仓库名 本地分支名

在这里插入图片描述

git push 远程仓库名 本地分支名:在远程仓库的别名

在这里插入图片描述
在这里插入图片描述

拉取远端分支
git fetch 远程仓库的别名 远程的分支:抓取到本地的命名

在这里插入图片描述

分支的删除
git push 远程库的别名 --delete 远程库中的分支名

在这里插入图片描述

9.Git冲突解决

冲突产生的原因:
举例:你在dev分支修改了一个文件,再次期间master分支这个文件也被修改了,那么再次合并的时候就会生冲突

到71集

GitHub协作

1.添加合作者

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

el-switch自动触发更新事件

比如有这样一个列表,允许修改单条数据的状态。希望在更改el-switch状态时能够有个弹框做二次确认,没问题,el-switch已经帮我们想到了,所以它提供了beforeChange,根据beforeChange的结果来决定是否修改状态。一般确认修…

qt-C++笔记之使用QtConcurrent异步地执行槽函数中的内容,使其不阻塞主界面

qt-C笔记之使用QtConcurrent异步地执行槽函数中的内容,使其不阻塞主界面 code review! 文章目录 qt-C笔记之使用QtConcurrent异步地执行槽函数中的内容,使其不阻塞主界面1.QtConcurrent::run基本用法基本用法启动一个全局函数或静态成员函数使用 Lambda…

C++进阶之路:何为拷贝构造函数,深入理解浅拷贝与深拷贝(类与对象_中篇)

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

脚注:书籍的小秘密,躲藏在脚注间

脚注:书籍的小秘密,躲藏在脚注间 脚注是一种在文本中提供补充信息、引用出处或注解的方式,有助于读者更全面地理解文中内容,并为进一步研究提供参考和跳转点。 在一书本中,脚注是额外提供给读者的文字信息&#xff0…

SpringCloud系列(31)--使用Hystrix进行服务降级

前言:在上一章节中我们创建了服务消费者模块,而本节内容则是使用Hystrix对服务进行服务降级处理。 1、首先我们先对服务提供者的服务进行服务降级处理 (1)修改cloud-provider-hystrix-payment8001子模块的PaymentServiceImpl类 注:HystrixP…

Stream流的使用

目录 一,Stream流 1.1 概述 1.2 Stream代码示例 二,Stream流的使用 2.1 数据准备 2.2 创建流对象 2.3 中间操作 filter map distinct sorted limit skip flatMap 2.4 终结操作 foreach count max&min collect 2.5 查找与匹配 a…

秒级达百万高并发框架Disruptor

1、起源 Disruptor最初由lmax.com开发,2010年在Qcon公开发表,并于2011年开源,企业应用软件专家Martin Fowler专门撰写长文介绍,同年它还获得了Oracle官方的Duke大奖。其官网定义为:“High Performance Inter-Thread M…

2022年CSP-J入门级第一轮初赛真题

一、单项选择题(共15题,每题2分,共计30分;每题有且仅有一个正确选项) 第 1 题 在内存储器中每个存储单元都被赋予一个唯一的序号,称为()。 A. 地址B. 序号C. 下标D. 编号 第 2 题 编…

Spring MVC+mybatis 项目入门:旅游网(三)用户注册——控制反转以及Hibernate Validator数据验证

个人博客:Spring MVCmybatis 项目入门:旅游网(三)用户注册 | iwtss blog 先看这个! 这是18年的文章,回收站里恢复的,现阶段看基本是没有参考意义的,技术老旧脱离时代(2024年辣铁铁&…

Leetcode 剑指 Offer II 079.子集

题目难度: 中等 原题链接 今天继续更新 Leetcode 的剑指 Offer(专项突击版)系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定一个整数数组 nums ,数组中的元素 互不相同 。返…

Introduction of Internet 计算机网络概述

计算机网络的概念 计算机网络的定义: 多台独立的计算机通过通信线路实现资源共享的计算机系统 计算机网络的组成 资源子网:提供共享的软件资源和硬件资源 通信子网:提供信息交换的网络结点和通信线路 计算机网络类型 按照拓扑排序 星型…

KVM+GFS分布式存储系统构建KVM高可用

KVMGFS分布式存储系统构建KVM高可用 文章目录 KVMGFS分布式存储系统构建KVM高可用资源列表基础环境一、安装部署KVM1.1、安装KVM1.2、验证1.3、开启libvirtd服务1.4、配置KVM桥接网络 二、部署GlusterFS2.1、安装GlusterFS软件2.2、所有node节点启动GFS2.3、创建GFS群集2.4、查…

[Linux]网络原理与配置

一.NAT模式网路配置 虚拟系统的IP地址处于随机网段,同时在母机上会额外有一个与虚拟IP地址网段相同的IP地址,可以实现母机与虚拟机的通信。虚拟系统的IP地址可以通过主机实际的IP地址作为代理IP,与外部系统进行通信。 优点:不造…

医疗科技:UWB模块为智能医疗设备带来的变革

随着医疗科技的不断发展和人们健康意识的提高,智能医疗设备的应用越来越广泛。超宽带(UWB)技术作为一种新兴的定位技术,正在引领着智能医疗设备的变革。UWB模块作为UWB技术的核心组成部分,在智能医疗设备中发挥着越来越…

JDBC总结

目录 JDBC(java database connection) JDBC连接数据库步骤: 1. 在项目中添加jar文件,如图所示 2.加载驱动类 向数据库中插入数据代码示例: 第一种: 第二种: 查询操作 : 第一种: 第二种: JDBC(java database connection) java数据库连接.api(应用程序编程接口) ,可…

怎么理解直接程序控制和中断方式?

直接程序控制 看完之后是不是依然一头雾水?来看下面两个例子 无条件传送 假设你正在使用键盘打字。当你敲击键盘上的一个键时,键盘会立即产生一个信号(即输入数据),并且这个信号会立即被电脑接收。在这个过程中&…

颜色值进制转换

颜色值进制转换 专业的和非专业程序员在编程时都碰到过颜色值的表达式。特别是在编制网页和设计界面时,都要选择颜色。各语言的颜色值表达式就两种,十六进制的颜色值hex$和十进制的RGB格式。现成的调色板颜色表也是这两种格式。写代码时会遇到写颜色值码…

懒人网址导航页 search.html SQL注入漏洞复现

0x01 产品简介 懒人网址导航系统是一种智能化的网址导航平台,旨在帮助用户快速找到所需的网址和资源。该系统提供了智能化的网址搜索和推荐功能,能够根据用户的搜索习惯和偏好推荐相关的网址和资源。同时,系统还提供了网址分类、网址收藏和网址分享等功能,方便用户管理和共…

镜子摆放忌讳多

镜子是我们日常生活中不可或缺的物品。在风水中,镜子的作用非常多,能够起到一定的作用。镜子的摆放位置也是非常有讲究的,摆放不好会直接影响到家人的事业、财运、婚姻乃至健康等诸多方面。 第一个风水忌讳,镜子对大门。大门的正前…