TortoiseGit 入门指南08:浏览引用以及在引用间切换

news2024/11/22 23:45:40

在上一节 创建分支 中,我们学会了在分支上开发新功能,那么随之而来的问题是:如何查看项目又多少分支?如何再切换到主分支?这节来解决这些问题。

在回答之前,需要先了解一个 Git 术语:引用(Refs)。简而言之,引用是指 分支标签等。要理解引用概念,需要了解一点 Git 的内部原理。

Git 的本质是一个键值存储系统,我们可以向 git 仓库中插入任意类型的内容,他会对内容进行存储,同时基于内容计算并返回一个唯一的 SHA-1 值作为键,通过该键我们可以再次访问到该内容。

找一个 Git 仓库,然后查看提交日志(《TortoiseGit 入门指南04:查看提交日志》介绍了如何查看提交日志):

在这里插入图片描述
每一个提交对应着一个 SHA-1 值,每一个 SHA-1 值都有 40 个字符,在 Git 命令行中查找某个提交之前的历史,则需要记住这个提交的 SHA-1 值!记住一个由 40 个字符组成的串,这真是太强人所难了!即使 Git 人性化的允许只输入 SHA-1 的前 6 位,但还是不够方便。所以,Git 允许为 SHA-1 值起一个别名,用这个名字指针来代替原始的 SHA-1 值,这个名字称为 引用(references,简称 refs)。分支、标签都属于引用。

这里提及的有关 Git 命令行的内容只是为了理解“引用”的概念,实际上使用 TortoiseGit 查看提交历史根本不需要 SHA-1 值,我们是完全可视化的。
另外,这里提及了一个还没有接触的术语 标签,不必困惑,就当它是一个专有名词,稍后的章节会介绍它的。

浏览所有引用(Refs)

既然知道了分支是引用,就可以用 TortoiseGit 的 浏览引用功能查看版本库中有多少分支:

引用(Refs)是指本地分支远程分支标签等。使用 TortoiseGit - Browse Reference... 打开引用对话框。

在这里插入图片描述

在左侧窗口显示引用的类型:本地分支(heads)、远程分支(remotes)、标签(tags)等。

右侧窗口显示选定类型的引用,包括具体的分支、标签,分支会显示最后一次提交的信息,如果要查看所有提交可以使用右键菜单 - Show log 或者双击分支名

右键菜单提供了更多的操作选项:

  • 浏览提交日志:选中分支 - 鼠标右键 - Show log
  • 比较差异:选中两个分支 - 鼠标右键 - Compare selected refs
  • 配置远程跟踪分支:选中分支 - 鼠标右键 - Select tracked branch
  • 恢复远程跟踪分支:选中分支 - 鼠标右键 - Unset tracked branch
  • 新建分支:选中分支类型 - 鼠标右键 - Create Branch…
  • 切换分支:选中分支 - 鼠标右键 - Switch/Checkout to this…
  • 合并分支:选中非当前分支 - 鼠标右键 - Merge to “xxxx”…
  • 删除分支:选中分支 - 鼠标右键 - Delete branch
  • 删除远程标签:选中标签类型 - 鼠标右键 - Delete remote tags…

切换/签出

现在回答第二个问题,如何再切换到主分支?这用到 TortoiseGit 的 切换/签出 功能,要打开“切换/签出”对话框,选中仓库目录,单击鼠标右键,选择 TortoiseGit - Switch/Checkout...

可以选择切换到指定分支(Branch)、标签(Tag)和提交(Commit)。

在这里插入图片描述

  • Create New Branch:选中将创建指定名称的新分支。新分支将被设置为当前分支(HEAD)
  • ...:可以通过单击此按钮选择不同的分支、标签和提交
  • Overwrite working tree changes(force):选中将使用所选版本覆盖工作区中未提交的更改。
  • Track:仅对远程分支有效。选中后会跟踪远程分支(本地分支和远程分支建立直接联系,后续 pullpush 指令就不必输入远程仓库名和本地仓库名)。

重要提示:如果要切换到 TagCommit,应该选中 Create New Branch 复选框,即创建新的分支并切换到当前分支上去。









读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)
千金难买知识,但可以买好多奶粉

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

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

相关文章

学无止境·MySQL⑨(MongoDB)

MongoDB的安装及使用 MongoDB1、MongoDB的安装与启动2、创建一个数据库 名字grade3、数据库中创建一个集合名字 class4、集合中插入若干数据文档格式如下5、查找查看班级所有人信息查看班级中年龄为8岁的学生信息查看年龄大于10岁的学生信息查看年龄在 4---8岁之间的学生信息找…

接口测试之基于SaaS平台的iHRM项目的前端部署配置(踩坑版)

基于SaaS平台的iHRM项目的前端部署配置 下载安装node.js3.从Git上下载项目安装依赖包的改进方法 关于的部署可以参考基于SaaS平台的iHRM项目的前端部署教程博客 但本人在参考配置的过程中遇到了很多问题…于是写下这篇博客 下载安装node.js 可以访问https://nodejs.org/en下载…

利用Python绘制直方图和散点图

1 问题 利用python如何绘制直方图和散点图。 2 方法 # ------ 直方图import matplotlib.pyplot as pltimport numpy as npimport matplotlib# 设置matplotlib正常显示中文和负号matplotlib.rcParams[font.sans-serif] [SimHei] # 用黑体显示中文matplotlib.rcParams[axes.unic…

前端学习记录~2023.7.3~CSS杂记 Day4

前言一、溢出1. 默认情况2. overflow属性3. BFC 二、CSS 的值与单位1. 长度(1)绝对长度单位(2)相对长度单位 2、百分比3、数字4、颜色(1)颜色关键字(2)十六进制 RGB 值(3…

单片机第一季:零基础7——定时器和计时器

目录 1,单片机定时器原理 2,51单片机定时器/计数器结构 3,定时器配置 4,示例代码-通过定时器控制LED灯间隔1s闪烁 51 单片机有两组定时器/计数器,因为既可以定时,又可以计数,故称之为定时…

JPA实现多对多关系

本文已收录于专栏 《Java》 目录 概念说明优势利弊实现方式通过两个ManyToMany注解实现类图代码 通过OneToMany和ManyToOne注解实现类图代码 总结提升 概念说明 多对多关系是指两个实体之间存在多对多的关联关系。在数据库中,多对多关系无法直接表示,需要…

javascript截取两个符号之间的字符串(2):lastIndexOf匹配和正则表达式匹配

lastIndexOf匹配和正则表达式匹配 项目需求1.规范的字符串2.不规范的字符串3-1.万能封装3-2.ChatGPT的优化写法4.正则表达式的用法5.补充知识:lastIndexOf的用法 项目需求 javascript中截取字符串中最后一个“/”和“?”之间的内容。 1.规范的字符串 https://tes…

100天精通Python(可视化篇)——第96天:Pyecharts绘制多种炫酷箱形图参数说明+代码实战

文章目录 专栏导读1. 箱形图介绍1)箱形图介绍2)怎么看箱型图?3)解释说明 2. 普通箱型图3. 水平箱型图4. 群组箱型图5. 带异常点的箱型图 专栏导读 🔥🔥本文已收录于《100天精通Python从入门到就业》&#…

Docker实战总结

Docker 官方文档地址:https://www.docker.com/get-started 中文参考手册:https://docker_practice.gitee.io/zh-cn/ 1.什么是 Docker 1.1 官方定义 最新官网首页 # 1.官方介绍 - We have a complete container solution for you - no matter who you are and where you are…

线性回归--波士顿房屋价格预测

一、波士顿房屋价格预测代码 import sysimport pandas as pd import numpy as np from sklearn.linear_model import LinearRegression import matplotlib.pyplot as plt import matplotlib as mpt from sklearn.model_selection import train_test_split##加载数据 datapd.re…

Druid工作原理

Druid工作原理-连接池初始化流程 标题 Druid工作原理-获取连接流程: 连接回收:

类定义练习

运行代码: //类定义练习 #include"std_lib_facilities.h" #include"GUI/Simple_window.h" #include"GUI/GUI.h" #include"GUI/Graph.h" #include"GUI/Point.h" //定义类 class Person { private:string first_n…

直流有刷驱动板电流电压采集

直流有刷驱动板电流电压采集 电流采集会涉及到电流环的使用。 #include "./adc/bsp_adc.h" #include ".\motor_control\bsp_motor_control.h" #include "./led/bsp_led.h" #include "./usart/bsp_debug_usart.h"__IO uint16_t…

vue-element-admin深入系列-数据Mock

本文介绍 vue-element-admin 如何使用 MockJS 实现数据Mock,毕竟对于一个合格的前端来讲,自己能Mock数据是必须的: 自给自足,不用依赖服务端接口。毕竟环境问题是个大问题,更何况环境不稳定是常态,再加上偶尔服务端的数据格式变化,问题就更复杂。 数据复杂,页面复杂时。…

HackTheBox - 学院【CPTS】复习6 - Active Directory

ACTIVE DIRECTORY ENUMERATION & ATTACKS 这个模块其实与thm的AD教程相比,还是thm更适合刚开始接触AD以及学习从枚举到持久化的全阶段(红队)。而htb学院这个模块更注重于枚举和各种攻击手段,有点纯渗透的风格,弱化…

通过动态IP解决网络数据采集问题

动态地址的作用 说到Python网络爬虫,很多人都会遇到困难。最常见的就是爬取过程中IP地址被屏蔽。虽然大部分都是几个小时内自动解封的,但这对于分秒必争的python网络爬虫来说,是一个关键性的打击!当一个爬虫被阻塞时,…

Java内部类笔记

1.为什么使用内部类? 使用内部类最吸引人的原因是:每个内部类都能独立地继承一个(接口的)实现,所以无论外围类是否已经继承了某个(接口的)实现, 对于内部类都没有影响 1.1.使用内部类最大的优点…

TCP/IP基础知识笔记

应用层:为用户提供应用功能,比如 HTTP、FTP、Telnet、DNS、SMTP等。 应用层是工作在操作系统中的用户态,传输层及以下则工作在内核态。 传输层:为应用层提供网络支持。 *TCP包含众多特性比如流量控制、超时重传、拥塞控制等因此可…

pytorch深度学习逻辑回归 logistic regression

# logistic regression 二分类 # 导入pytorch 和 torchvision import numpy as np import torch import torchvision from torch.autograd import Variable import torch.nn as nn import torch.nn.functional as F import torch.optim as optim import matplotlib.pyplot as …

(简单)剑指Offer II 056. 二叉搜索树中两个节点的和 Java

方法一:深度优先搜索哈希表 使用深度优先搜索的方式遍历整棵树,用哈希表记录遍历过的节点的值 对于一个值为x的节点,检查哈希表中是否存在k-x即可。如果存在对应的元素,那么我们就可以在该树上找到两个节点的和为k;否…