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

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:告诉别人网上仓库默认看哪个版本。


http://www.kler.cn/a/600814.html

相关文章:

  • influxdb在centOS stream 9安装教程
  • 3、孪生网络/连体网络(Siamese Network)
  • <KeepAlive>和<keep-alive>有什么区别
  • 基于51单片机的多点位水位监测proteus仿真
  • Java学习总结-Stream流
  • 微信小程序中使用WebSocket通信
  • 使用Python爬虫获取1688商品(按图搜索)接口
  • 状态空间模型解析 (State-Space Model, SS)
  • 人工智能与区块链融合:开启数字信任新时代
  • (一)LeetCode热题100——哈希
  • 家庭网络结构之局域网通信
  • 监控告警+webhook一键部署
  • PAT乙级1007
  • jvm中每个类的Class对象是唯一的吗
  • 万字C++STL——vector模拟实现
  • Linux中的基本开发工具(上)
  • 基于Spring Boot的党员学习交流平台的设计与实现(LW+源码+讲解)
  • 【微服务架构】SpringCloud(七):配置中心 Spring Cloud Config
  • OpenCV图像拼接(7)根据权重图对源图像进行归一化处理函数normalizeUsingWeightMap()
  • 洛谷 P1351 [NOIP 2014 提高组] 联合权值(树)