当前位置: 首页 > news >正文

sourcetree中的“master“,“origin/master“,“origin/HEAD“这三个图标都是什么意思?GIT 超详细➕通俗易懂版本

1. master(本地主分支)

含义
• 这是你本地仓库的默认主分支,所有本地代码变更默认在此分支上提交。
• 在图片中,master 分支右侧的提交记录(如 f6c2c02)表示你本地分支的最新提交。

图中场景
• 当前本地分支为 master,最新提交是 f6c2c02(提交信息为 V1.0)。
• 文件列表中的 HelloWorld.txt 可能已被修改但尚未提交(底部有「提交」按钮待操作)。


2. origin/master(远程主分支的引用)

含义
• 这是远程仓库(通常命名为 origin)中 master 分支的本地镜像,用于跟踪远程仓库的更新。
• 它不会自动更新,需通过 git fetch 或点击「获取」按钮(图中顶部操作栏)同步远程状态。

图中场景
origin/master 的提交哈希为 3458323(提交信息为 Initial commit),表示远程仓库的 master 分支最后一次同步到本地的状态。
• 如果你本地 master 分支的提交(f6c2c02)未推送到远程,origin/master 会落后于本地分支。


3. origin/HEAD(远程默认分支的指针)

含义
• 这是远程仓库的默认分支标识,通常指向 origin/master(如果远程主分支是 master)。
• 当你在终端执行 git clone 时,克隆的默认分支就是 origin/HEAD 指向的分支。

图中场景
origin/HEADorigin/master 指向同一个提交 3458323,说明远程仓库的默认分支是 master
• 如果远程仓库将默认分支改为 mainorigin/HEAD 会指向 origin/main


三者的关系图示

本地仓库                         远程仓库(origin)
┌───────────────┐               ┌───────────────┐
│  master       │ ← 可推送/拉取 →│  master       │
│  (f6c2c02)    │               │  (3458323)    │
└───────────────┘               └───────────────┘
      ↑                                ↑
      │                                │
      │          origin/master ───────┘
      │          (3458323)
      │
      └─── origin/HEAD 始终指向远程默认分支

关键区别总结

名称作用范围更新方式图中状态
master本地本地提交最新提交为 f6c2c02
origin/master远程镜像通过 获取 按钮同步远程落后于本地,提交 3458323
origin/HEAD远程标识随远程仓库默认分支设置改变指向 origin/master

实际场景操作

  1. 推送本地代码
    • 点击「推送」按钮,将本地 master 分支的 f6c2c02 提交推送到远程,使 origin/master 更新为与本地一致。

  2. 同步远程变更
    • 点击「获取」按钮,若远程有更新,origin/master 会显示最新提交,之后可点击「合并」将变更整合到本地 master

  3. 切换默认分支
    • 若远程仓库将默认分支从 master 改为 mainorigin/HEAD 会自动指向 origin/main(需重新获取)。


通俗易懂版本:

1. master(你手里的笔记本)

这是你电脑上的最新版本,就像你正在写的笔记本。
图中的情况:你刚写了 V1.0 版本(提交记录 f6c2c02),但还没把本子传给其他人。


2. origin/master(别人手里的你的笔记本副本)

这是远程仓库(比如 GitHub)上的最新版本,相当于别人手里的你的笔记本复印件。
图中的情况:别人手里的复印件还是 Initial commit(提交 3458323),因为你没把你的新内容 V1.0 传给他们。


3. origin/HEAD(别人默认看哪个本子)

这是远程仓库的“封面”标签,告诉别人默认该看哪个分支。
图中的情况:远程仓库的封面贴的是 master 分支,所以 origin/HEADorigin/master 指向同一个版本。


举个栗子 🌰

  1. 你写了一本小说(master),最新章节是 V1.0
  2. 出版社(远程仓库)手里的还是你最早的大纲(origin/master)。
  3. 出版社的官网(origin/HEAD)写着:“默认看最新版小说”,但实际最新版还没传过去。

你要做的:把 V1.0 发给出版社(点「推送」按钮),他们的 origin/master 就会和你的一样了!


一句话总结

master:你电脑上的最新版本。
origin/master:网上仓库的最新版本(可能比你旧)。
origin/HEAD:告诉别人网上仓库默认看哪个版本。

相关文章:

  • Unity中对象池(Object Pool)技术解析与实现
  • 【聚合函数、分组、排序笔记】
  • SSE单向消息推送(get请求)
  • 神经网络 - 前馈神经网络(FNN)、全连接神经网络(FCNN)和卷积神经网络(CNN)的区别与联系
  • MySQL的多表查询
  • 软考《信息系统运行管理员》- 6.1 信息系统安全概述
  • Oracle数据库数据编程SQL<2.2 DDL 视图、序列>
  • lxd-dashboard 图形管理LXD/LXC
  • Processor System Reset IP 核 v5.0(vivado)
  • Allegro界面颜色改变设置
  • Qt应用系统托盘区域显示、托盘菜单示例
  • 快速排序不啦不啦
  • 嵌入式Linux网络编程:UNIX Domain Socket进程间通信(IPC)
  • Maven版本统一管理
  • 如何在Webpack中配置别名路径?
  • Google开源机器学习框架TensorFlow探索更多ViT优化
  • Ubuntu 系统无法远程连接?完整排查指南与解决方案
  • RedHat7.6_x86_x64服务器(最小化安装)搭建使用记录(二)
  • 51c自动驾驶~合集15
  • Modbus协议开发入门
  • 中央结算公司:减免境外央行类机构账户开户费用
  • 马上评丨未成年人“擦边”短视频岂能成流量密码
  • 有关部门负责人就《新时代的中国国家安全》白皮书答记者问
  • 中国海外发展:今年前4个月销售665.8亿元,花费305亿元拿地
  • 婚姻登记“全国通办”首日,上海虹口登记中心迎来“甜蜜高峰”
  • 巴基斯坦称对印度发起军事行动