【Git】SourceTree学习笔记-图谱理解【2023.03.17】
创始人
2025-05-29 21:56:52
0

本系列文章前言

  之前一直用的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提交代码要及时,拉取代码也要及时。本地与远程除了正在开发的内容其余都要尽可能保持一致。

四、删除分支

相关内容

热门资讯

企业IP打造指南:小公司低成本... 小公司做企业IP,不是为了装门面,而是让客户在没见到你之前,就能通过内容知道你是谁、你解决什么问题、...
官方:赵心童入选世界斯诺克名人... 北京时间5月8日消息,世界斯诺克巡回赛(WST)今日正式公布了2025/26赛季年终奖项及名人堂更新...
小灰熊AI学员王锋:希望能跟上... 35了,老程序员了。 从进入互联网行业到现在,其实已经做了很多年移动端开发。最早那几年,安卓行业发展...
原创 2... 2026年全国两会把稳定房地产市场列为重点工作,政府工作报告明确提出因城施策控增量、去库存、优供给。...
一年翻倍,六年未归——徽商银行... 文:向善财经 今年的港股市场,与A股市场出现了明显的分化。 A股这边,科技板块在AI浪潮中热闹非凡;...
古井贡酒2025:在行业深度调... 以“稳”为底、以“新”为翼。 文/每日财报 杜康 在行业库存高企、价格倒挂的背景下,当多数酒企在为...
好上好8408万收购鼎瑞芯加码... 5月7日晚,好上好(001298.SZ)抛出一份收购公告,拟以8408万元现金收购深圳市鼎瑞芯科技有...
全面大撤离!李嘉诚英国“套现”... 突发,李嘉诚又卖了。 这次,套现了455亿。 金额不少,但更值得关注的是透露着不同寻常的信号。 因为...
油气价格上涨加剧法国一季度贸易... 据新华社,法国海关7日发布的数据显示,受中东局势推高国际油气价格影响,法国今年第一季度贸易逆差扩大至...
昆仑芯启动科创板IPO上市辅导... 5月8日,据证监会官网显示,昆仑芯(北京)科技股份有限公司于2026年5月7日正式启动科创板上市辅导...
贵州茅台酒股份有限公司关于回购... 来源:上海证券报 证券代码:600519 证券简称:贵州茅台 公告编号:临2026-016 贵州茅...
百度昆仑芯启动科创板上市辅导,... 5月8日,证监会官网显示,昆仑芯(北京)科技股份有限公司 (下称“昆仑芯”)于2026年5月7日正式...
滕州信华的承压时刻:罚单、失信... 2026年4月末,滕州信华美元债单日跌近2%,关联方被列“老赖”。半年前,这家AA+城投曾因非市场化...
002808,或被终止上市! 【导读】因触及财务类退市指标,*ST恒久或被终止上市 中国基金报记者 李智 又一A股或被终止上市。 ...
院士团队掌舵,溧阳这家企业已完... 近日,溧阳天目先导电池材料科技有限公司(下称“天目先导”)官宣完成B轮融资,投资方包括知卓创新资本、...
工商银行全新推出“工盈研选”品... 深圳商报·读创客户端记者 詹钰叶 近日,工商银行重磅推出「工盈研选」基金销售服务品牌,以客户盈利为核...
和讯信息胡云龙:逼空走势,周五... 今天市场出现逼空走势,场内投资者因持有筹码而尤为受益。五一前布局的投资者当前收获颇丰。然而,随着上证...
今晚,油价上调! 4月21日国内成品油价格下调以来,国际市场原油价格剧烈震荡,前期大幅上涨后近日有所回落,本次调价的前...
南方东英旗下两倍做多海力士,成... 【导读】南方东英旗下两倍做多海力士,成为全球最大的个股杠杆及反向产品 中国基金报记者 伊万 人工智能...
原创 金... 黄金,这东西从古至今就没离开过中国人的生活。从老辈人压箱底的小黄鱼,到如今年轻人结婚绕不开的“三金”...