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

【Git知识】Git 常用知识集合之基础--分支系统与 Tag 标签机制

🧰 Git 常用知识集合

Git 是程序员的“时间机器”。这份手册帮你从入门到精通,把 Git 玩明白。


1️⃣ Git 基础操作流程

📌 三步走流程:添加 → 提交 → 推送

git add .                     # 把所有修改加入暂存区
git commit -m "提交说明"      # 提交到本地仓库
git push origin master        # 推送到远端 master 分支

🌍 设置远端仓库

git remote add origin https://github.com/xxx.git
# 设置默认远端 origin,一般用于 GitHub、Giteegit remote add home https://gitee.com/xxx.git
git remote add company https://internal.git.com/project.git
# 自定义远端名,适用于多仓库环境(家庭/公司)

💡 origin 后的 master 是你推送的远端分支名,可以是 maindev 等。


2️⃣ 暂存区 vs 工作区:傻傻分不清楚?

📂 工作区(Working Directory)

你平时编辑文件的地方,比如 VSCode 中打开的项目文件夹。

🧺 暂存区(Staging Area / Index)

通过 git add 添加的内容,就会进入暂存区。它是“准备提交清单”,不会直接提交,也不会直接影响远端。

🗃️ 本地仓库(Local Repository)

通过 git commit 把暂存区的内容正式提交记录,形成版本快照,存在 .git 目录里。

☁️ 远程仓库(Remote Repository)

如 GitHub、Gitee 上的仓库。需要 git push 才能同步上去。


🔁 各阶段之间的流转关系

# 工作区 → 暂存区
git add .# 暂存区 → 本地仓库
git commit -m "说明"# 本地仓库 → 远程仓库
git push origin master# 暂存区 → 工作区(取消暂存)
git reset <文件名># 工作区 → 不追踪(删除缓存)
git rm --cached <文件名>

3️⃣ 分支系统与 Tag 标签机制

🌿 分支(Branch)

Git 的分支就像平行世界,不同分支之间可以各自开发,最后合并。

✨ 分支常用操作
git branch               # 查看所有本地分支
git branch dev           # 创建 dev 分支
git checkout dev         # 切换到 dev 分支
git checkout -b hotfix   # 创建并切换到 hotfix 分支git merge dev            # 把 dev 分支合并到当前分支
git branch -d dev        # 删除本地分支
git push origin --delete dev  # 删除远端分支

✅ 合并说明:A 合并到 B,需要先切到 B 分支 执行 git merge A,有冲突也能当场解决,因为你就在 B 分支上!


🏷️ 标签(Tag)

Tag 就像是 Git 的“快照”,可以给某次提交打一个永久的标记,比如 v1.0.0 发布版本。

🎯 Tag 操作指令
git tag                   # 查看所有标签
git tag v1.0              # 当前 commit 打标签
git tag -a v1.1 -m "说明" # 带说明打标签
git push origin v1.0      # 推送单个标签到远端
git push origin --tags    # 推送所有本地标签
git tag -d v1.0           # 删除本地标签
git push origin :refs/tags/v1.0  # 删除远端标签

🧠 Tag 不属于任何分支,不受 resetcheckout 等分支操作影响,非常适合做版本发布的定点快照。


✅ 总结:Git 就是一张四层地图

[工作区] → git add → [暂存区] → git commit → [本地仓库] → git push → [远程仓库]

分支:像分叉的道路,灵活多变
标签:像地图上的锚点,永久标记


http://www.dtcms.com/a/295430.html

相关文章:

  • YOLO算法演进综述:从YOLOv1到YOLOv13的技术突破与应用实践,一文掌握YOLO家族全部算法!
  • 2025最新MySQL面试题实战记录,互联网公司常问题目
  • 如何在 Ubuntu 24.04 服务器或桌面版上安装和使用 gedit
  • Spring AI Alibaba 快速入门指南(适合初学者)
  • 【C++】简单学——list类
  • 磁性材料如何破解服务器电源高频损耗难题?
  • Unity UI的未来之路:从UGUI到UI Toolkit的架构演进与特性剖析(3)
  • Element-UI 解决省市级数据
  • Map接口-实现类HashMap
  • Hive常用函数
  • C++STL系列之set和map系列
  • Spring AI - 函数调用演示:AI算术运算助手
  • 计算机网络知识点总结 (2)
  • Vue3 面试题及详细答案120道(91-105 )
  • 02.面向对象的特性
  • 斐波那契数列策略
  • 深入UniApp X:掌握复杂列表与全局状态管理的艺术
  • 光伏电站巡检清扫飞行机器人设计cad【6张】三维图+设计说明书
  • go项目实战二
  • 支持OCR和AI解释的Web PDF阅读器:解决大文档阅读难题
  • 飞腾D3000麒麟信安系统下配置intel I210 MAC
  • 最新免费使用Claude Code指南(Windows macOS/Linux)
  • 使用ffmpeg转码h265后mac默认播放器不支持问题
  • 快速启用 JMeter(macOS Automator 创建 JMeter 脚本)
  • 【MAC电脑系统变量管理】
  • Mac电脑开发Python(基于vs code)
  • 闲庭信步使用图像验证平台加速FPGA的开发:第三十三课——车牌识别的FPGA实现(5)车牌字符的识别
  • 只对非空元素执行循环操作,怎么办?
  • Qt自定义图像显示控件(支持平移、缩放、横纵比自适应)
  • 图像认知与OpenCV——图像预处理2