【Git】SourceTree学习笔记-图谱理解【2023.03.17】
创始人
2025-05-29 22:37:16

本系列文章前言

  之前一直用的TeamFoundation,近期要代码迁移到Gitee,组内使用SourceTree进行代码管理。故将近期的学习内容做个总结。就我个人来说,不管啥技术基本上都是现学现用,网上看教程也都是看的最精简的版本。恨不能一篇文章就读懂整个框架,一句话就弄明白几万行代码的设计思想。实际后来认识到一句至理名言:

“慢即是快” 一一曾国藩

我意识到,越耐心的总结一篇文章,越慢的梳理一些逻辑,发现自己的“总进度”反而变快了。

摘要

本篇主要分析SourceTree的图谱。

一、本地分支之所有"分支模式"分析

观察分支图谱可以选择仅查看当前分支还是查看所有分支,仅查看当前分支可以只关心某一条分支的更新记录。查看所有分支可以观察到仓库的所有分支及所有分支的更新记录。二者都有针对的使用场景。

(1)develop分支

  1. 下图红色圈1对应Git中的分支,黑色加粗表示当前分支。注意红色矩形框框住的的分支都是本地分支。
  2. 下图红色圈2对应仓库的起始点,也就是仓库的首次提交。
  3. 下图红色圈3空心红色圈表示本地分支所在节点。
    在这里插入图片描述

(2)master分支

双击左侧master,切换到master分支。

  1. 红色圈1所指的空心绿色圈表示当前本地分支所在节点。
  2. 红色圈2所指的是这条分支的源头起点。也就是在哪些更新的基础上的更改。
    在这里插入图片描述

(3)“版本一:剪贴板方式”分支

双击左侧“版本一:剪贴板方式”,切换到该分支。

  1. 红色圈1所指的空心蓝色圈表示当前本地分支所在节点。
  2. 红色圈2所指的是commit的描述
  3. 红色圈3所指的是标签,表明该commit对应的哪条本地分支。标签的颜色和分支线的颜色一致。
  4. 红色圈4所指的是标签,表明该commit对应的哪条远程分支。远程分支格式有前缀origin
    在这里插入图片描述

(4)总结

  1. 红色圈1所指的是“版本一:剪贴板方式”分支。
  2. 红色圈2所指的是“develop”分支。
  3. 红色圈3所指的是"master"分支。
  4. 三条分支,从最左侧开始并行向上。起点可以清晰表明分支是基于哪些更改。需注意并行向上的竖线不全是分支,但分支一定是按从左往右的方式排布。
  5. 观察时先找空心的圈,眼睛盯住整个空心圈所在的线,按图索骥,所有的实心点都是一次commit。看下commit内容是什么,从哪个分支的哪次更新merge过来的。
    在这里插入图片描述

二、本地分支之当前分支模式理解

观察分支图谱可以选择仅查看当前分支还是查看所有分支,仅查看当前分支可以只关心某一条分支的更新记录。查看所有分支可以观察到仓库的所有分支及所有分支的更新记录。二者都有针对的使用场景。

(1)develop分支

因为我这套代码是以develop为主线衍生的,所以即使切换到当前分支,其他分支也基本都能观察到。常规做法是以master为主线。

  1. 红色圈1所指的下拉框,选择到当前分支。
  2. 红色圈2所指的是一条commit记录,对应一个实心的黄点。
  3. 红色圈3所指的是一条commit记录,对应一个实心的黄点。
  4. 红色圈7所指的是一条commit记录,对应内容是把分支“版本一:剪贴板方式”合并到“master”分支。
  5. 红色圈4、5有前缀origin表示分支是远程分支,注意标签的颜色和分支线的颜色是对应的,线上的commit点和分支线的颜色是一致的。

在这里插入图片描述

(2)master分支

  1. 红色圈1所指的红色线就是master分支。
  2. 红色圈2所指的是一条commit记录,对应的操作是将master分支合并到版本一:”剪贴板方式分支“。
    在这里插入图片描述

(3)“版本一:剪贴板方式”分支

在这里插入图片描述

  1. 红色圈1所指的蓝色线就是版本一:剪贴板方式分支。
  2. 红色圈2所指的是一条commit记录,对应的操作是“update: 版本一注释掉无关代码”。

(4)总结

当前分支模式观察图谱可以先看主线分支,图谱只有一条竖线的,观察主线的更改很清晰。

三、本地仓库与远程仓库

(1)对仓库的理解

Git是分布式代码仓储管理系统。可以理解为CS架构,本地仓库对应客户端,远程仓库对应服务端。多人并行开发一套软件时,每个人都可以把仓库检出checkout到本机,在本地修改之后再更新到服务端。

(2)SourceTree获取远程分支

SourceTree获取远程分支可以双击分支,弹出对话框,选择检出即可。下图矩形框住的地方就是远程服务端所维护的仓库。总共四个分支:develop、HEAD、master、版本一:剪贴板方式。注意到远程分支四个而我们本地分支仅有三个,这是怎么回事?
在这里插入图片描述
双击HEAD尝试检出,发现报错,”fatal: 'HEAD' is not a valid branch name“。实际上因为HEAD类似于链表数据结构的头结点,它不存管数据,仅是指向当前的分支节点。我们切换到哪个分支,HEAD就指向哪个分支。
在这里插入图片描述

(3)本地仓库与远程仓库的关系

抛开分布式不谈,假设程序员只有一个,显然本地与远程仓库应该是实时保持一致的。程序员多了之后不可能做到每个人的开发内容,开发进度都保持一致,但是目标是要尽可能的一致。也就是Git提交代码要及时,拉取代码也要及时。本地与远程除了正在开发的内容其余都要尽可能保持一致。

四、删除分支

相关内容

热门资讯

人机对话比拼,Chat GPT... 目录 文心一言初体验 一、登录体验难易对比  二、测试对比--哲学类 第一个问题:《三...
强化学习笔记-04 动态规划D... 本文是博主对《Reinforcement Learning- An introduction》的阅读...
吉林华泰车险地址查询:理赔网点... 本篇文章极速百科给大家谈谈吉林华泰车险地址查询:理赔网点、营业厅、门店、定损...,以及华泰财产保险...
中国的五岳的特点各是什么(中国... 本篇文章极速百科给大家谈谈中国的五岳的特点各是什么,以及中国的五岳都是怎么样的对应的知识点,希望对各...
英菲尼迪fx35油耗多少钱(英... 本篇文章极速百科给大家谈谈英菲尼迪fx35油耗多少钱,以及英菲尼迪fx350油耗多少对应的知识点,希...
嫡孙是什么孙子(嫡孙指的是什么... 本篇文章极速百科给大家谈谈嫡孙是什么孙子,以及嫡孙指的是什么意思对应的知识点,希望对各位有所帮助,不...
【Linux】网络基础(2) 前言         本篇笔记记录我在Linux系统下学习网络基础部分知识,从关于网络...
计算机网络(第九弹) --- ...   传输控制协议 TCP 在整个计算机网络中占有很高的地位, 它会控制着网络上数据的传输过程, 当然...
Java二叉树的前中后序遍历 Java二叉树的前中后序遍历1.前序遍历1.1前序遍历概念1.2前序遍历习题2.中序遍历2.1中序遍...
电动汽车十大名牌排名及价格,纯... 今天给各位分享电动汽车十大名牌排名及价格,纯电动汽车排名及价格...的知识,其中也会对电动汽车十大名...
长安奔奔mini保养(长安奔奔... 本篇文章极速百科给大家谈谈长安奔奔mini保养,以及长安奔奔mini保养手册对应的知识点,希望对各位...
Python-06:异常、模块... 文章目录一、异常1.1 异常的概念1.2 捕获异常的语法1.3 代码演示1.4 异常的传递性二、模块...
满州是哪里(日本口中的满洲是哪... 今天给各位分享满州是哪里的知识,其中也会对日本口中的满洲是哪里进行解释,如果能碰巧解决你现在面临的问...
义乌交通违章查询,浙江义乌交通... 今天给各位分享义乌交通违章查询,浙江义乌交通违章查询的知识,其中也会对义乌违章查询入口进行解释,如果...
WEB安全 DIV CSS基础 1.DIV和CSS样式             层叠样式表(英文全称:Cascadin...
灵感来自游艇?聊天津一汽骏派C... 今天给各位分享灵感来自游艇?聊天津一汽骏派CX65设计的知识,其中也会对一汽骏派suv进行解释,如果...
汽车维修哪个学校比较好?(学汽... 今天给各位分享汽车维修哪个学校比较好?的知识,其中也会对学汽车维修哪个学校好,快来看看!进行解释,如...
科学技术的两面性是什么(科学技... 本篇文章极速百科给大家谈谈科学技术的两面性是什么,以及科学技术的两面性发言稿50字对应的知识点,希望...
京沪高速实时路况(京沪高速实时... 本篇文章极速百科给大家谈谈京沪高速实时路况,以及京沪高速实时路况今天封闭没有对应的知识点,希望对各位...
[刷题 java版] | 字节... 1.万万没想到之聪明的编辑我叫王大锤,是一家出版社的编辑。我负责校对投稿来的英文稿件&...
#科研筑基# 吴恩达深度学习 ... 引例这门课的名字叫深度学习,为什么我们要先介绍神经网络呢?那是因为&#x...
vue3一天内快速学习 文章目录简介vue3 学习安装项目结构基础知识模版语法{{}}v-htmlv-bind渲染展示v-i...
特斯拉专题研究报告:特斯拉第三... 今天给各位分享特斯拉专题研究报告:特斯拉第三篇章展望的知识,其中也会对特斯拉研究成果进行解释,如果能...
高速免费提前几个小时(高速免费... 今天给各位分享高速免费提前几个小时的知识,其中也会对高速免费提前几个小时上高速进行解释,如果能碰巧解...
卡罗拉和朗逸怎么选哪个更值得入... 今天给各位分享卡罗拉和朗逸怎么选哪个更值得入手的知识,其中也会对卡罗拉和朗逸买哪个好更好进行解释,如...
MAC QT OpenGL 图... 零基础 OpenGL ES 学习路线推荐 : OpenGL ES 学习目录 >> OpenGL ES...
海藻粉是什么东西(海藻粉是什么... 今天给各位分享海藻粉是什么东西的知识,其中也会对海藻粉是什么东西 宝宝能吃吗进行解释,如果能碰巧解决...
关于MGRE的OSPF建邻 我们以实验的方式直观的看一下OSPF在MGRE中的建邻。 首先介绍一下接口网络类型。 MGRE嘴上形...
MySQL和MariaDB,它... 目录 一、MySQL简介 二、MariaDB简介 三、什么是MariaDB? 四、为什么推出Mari...
羡慕的意思是什么(羡慕的意思是... 本篇文章极速百科给大家谈谈羡慕的意思是什么,以及羡慕的意思是什么最佳答案对应的知识点,希望对各位有所...