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.添加合作者

在这里插入图片描述

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

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

相关文章

重学java 43.多线程 多等待多唤醒案例

Fear never builds the future,but hope does. —— 24.5.25 多等待多唤醒问题 在多条线程同时消费同时等待时,会出现问题 BaoZiPu package S77ThreadMoreWait;/*count和flag可以定义成包装类,但要记得给count和flag手动赋值不然对于本案例来说&#xff…

python低阶基础100题(上册)

** python低阶基础100题(上册) ** 1. 请打印出字符串 Hello World print("Hello World")2. 请打印出字符串 爸爸妈妈,你们辛苦啦 print("爸爸妈妈,你们辛苦啦")3. 请打印出字符串 人生苦短,我…

SVN创建分支,分支合并,切换分支。通俗易懂

1、首先在svnbucket.com远程仓库上创建项目,这里我创建了个测试demo: 2、先把svn仓库的项目检出到自己的文件夹,我这里是demo001文件夹,此时并没有创建truck, branches, tags这三个目录: 3、 在demo001文件夹里新建tru…

vue实战 ---- 社交媒体---黑马头条项目

vue基础 1.介绍 为什么会有Vuex ? ​ Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。 vuex是采用集中式管理组件依赖的共享数据的一个工具,可以解…

spring boot打的包直接运行

Spring Boot 提供了一个插件 spring-boot-maven-plugin 把程序打包成一个可执行的jar包&#xff0c;直接执行java -jar xxx.jar即可以启动程序 1、引用 spring-boot-maven-plugin插件 <build><plugins><plugin><groupId>org.springframework.boot<…

Hive安装教程

前置条件:hadoop&mysql docker容器安装mysql-CSDN博客 以下的/opt/bigdata目录根据自己实际情况更改 1.上传hive包并解压 tar -zxvf apache-hive-3.1.3-bin.tar.gz -C /opt/bigdata/ 2.修改路径 mv /opt/bigdata/apache-hive-3.1.3-bin/ hive cd /opt/bigdata/hive/…

全网最全网络基础思维导图合集(38张)

计算机网络基础知识点多且杂&#xff0c;想要系统地学习&#xff0c;思维导图肯定是必不可少的。 今天整理了38张思维导图&#xff0c;帮助你轻松理清思路&#xff0c;快速掌握关键内容。建议你收藏起来慢慢看&#xff0c;在看过之后最好能重新动手画一画&#xff0c;让计算机…

【数据结构】线性表习题 |顺序表 |链表 |栈和队列

&#x1f4d6;专栏文章&#xff1a;数据结构学习笔记 &#x1faaa;作者主页&#xff1a;格乐斯 前言 线性表习题 |顺序表 |链表 |栈和队列 顺序表和链表 1、 选B 1002(5-1)108* 第i个元素地址X&#xff0c;元素长度Len&#xff0c;第j个元素地址Y 公式&#xff1a;YXL…

Windows 7 SP1 安装VMtools -- 安装失败的解决方法

VMware安装Win7 SP1可以参考这篇文章&#xff1a;https://blog.csdn.net/2301_77225571/article/details/139121179?spm1001.2014.3001.5501 1.下载补丁 https://www.catalog.update.microsoft.com/search.aspx?qkb4474419 2.本机远控Win7 【Win】【R】&#xff0c;输入cmd…

第二十届文博会沙井艺立方分会场启幕!大咖齐打卡!

2024年5月24日-27日&#xff0c;第二十届中国&#xff08;深圳&#xff09;国际文化产业博览交易会沙井艺立方分会场活动将在艺立方非遗&#xff08;文旅&#xff09;产业园盛大举办。 本届文博会艺立方分会场活动办展特色鲜明&#xff0c;亮彩纷呈&#xff0c;将以“种下梧桐树…

aws eks理解和使用podidentity为pod授权

参考链接 https://www.amazonaws.cn/new/2024/amazon-eks-introduces-eks-pod-identity/https://aws.amazon.com/cn/blogs/aws/amazon-eks-pod-identity-simplifies-iam-permissions-for-applications-on-amazon-eks-clusters/ 先决条件 集群版本需要符合要求&#xff0c;如果…

【揭秘!在线ChatGPT神器,体验入口在此!】

&#x1f680;【揭秘&#xff01;在线ChatGPT神器&#xff0c;体验入口在此&#xff01;】&#x1f680; 前言 嘿&#xff0c;大家好&#xff01;今天我要和大家分享一些关于如何使用免费的ChatGPT的技巧。ChatGPT是一项令人兴奋的人工智能技术&#xff0c;它可以成为我们的好…

aws eks集成wasm运行时并启动pod

参考资料 WebAssembly 在云原生中的实践指南&#xff0c;https://cloud.tencent.com/developer/article/2324065 作为一种通用字节码技术&#xff0c;wasm的初衷是在浏览器中的程序实现原生应用性能。高级语言将wasm作为目标语言进行编译并运行在wasm解释器中。和nodejs类似的…

文件自动同步备份-FreeFileSync工具解决硬盘损坏、误操作覆盖导致数据丢失

文件自动同步备份-FreeFileSync工具解决硬盘损坏、误操作覆盖导致数据丢失 文章目录 文件自动同步备份-FreeFileSync工具解决硬盘损坏、误操作覆盖导致数据丢失前言一、FreeFileSync二、使用方法1.用外部存储卡或盘作为异地备份目标盘2.设置同步策略3.设置为windows的自动计划 …

将电脑D盘部分空间划分给C盘的方法

本文介绍在Windows电脑中&#xff0c;将D盘的部分空间分给C盘的方法。 最近&#xff0c;发现电脑中C盘的空间剩余不多了&#xff1b;而D盘由于当初分盘时划分的空间过多&#xff0c;导致其剩余空间很大且大概率以后都不会用上D盘中这些多余的空间了。因此&#xff0c;希望将D盘…

ubuntu20.04 安装系统后-开机黑屏-nvidia显卡驱动没问题_thinkpad-intel-13700H

文章目录 硬件现象原因&解决 硬件 thinkpad p1 gen6笔记本&#xff0c; intel 13代cpu 13700H,nvidia rtx 2000 Ada laptop gpu 13700H应该是有集显的&#xff0c;但可能没装集显驱动or由于Bios设置的缘故&#xff0c;我的win任务管理器只能看到一个gpu(gpu0)&#xff1…

学会这些大模型术语,你可以硬控朋友7.13分钟

你对于大型语言模型&#xff08;LLMs&#xff09;的复杂世界以及围绕它们的技术术语感到好奇吗&#xff1f; 理解从训练和微调的基础方面到转换器和强化学习的尖端概念&#xff0c;是揭开驱动现代人工智能大语言模型神秘面纱的第一步。 在本文中&#xff0c;我们将深入探讨 25 …

【软件设计师】大题

一、数据流图 基础知识 数据流图&#xff08;Data Flow Diagram,DFD&#xff09;基本图形元素&#xff1a; 外部实体&#xff08;External Agent&#xff09; 表示存在于系统之外的对象&#xff0c;用来帮助用户理解系统数据的来源和去向加工&#xff08;Process&#xff09;数…

网络安全基础技术扫盲篇 — 名词解释

网络模块基础&#xff08;网络拓扑图、网络设备、安全设备&#xff09; 用通俗易懂的话说&#xff1a; 网络拓扑图&#xff1a;它就像一张网络世界的地图&#xff0c;它展现了我们数不清的网站、服务器和设备是如何相互连接的。用简单的话说&#xff0c;它就是给我们指路、告…

基于移动多媒体信源与信道编码调研

前言 移动多媒体是指在移动通信环境下&#xff0c;通过无线网络传输的音频、视频、图像等多种媒体信息。移动多媒体的特点是数据量大、传输速率高、服务质量要求高&#xff0c;因此对信源编码和信道编码的性能提出了更高的要求。 本文对进3年的移动多媒体信源与信道编码的研究…