当前位置: 首页 > 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.lryc.cn/news/598053.html

相关文章:

  • Leetcode 07 java
  • CodeBuddy IDE发布:编程新时代的颠覆者?
  • Golang实现 - 实现只有表头的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打开时,指定列的单元格会显示下拉选项
  • 安全逆向工程学习路线
  • Java学习第七十一部分——Dubbo
  • RCLAMP0512TQTCT 升特半导体 TVS二极管 12通道全防护芯片 以太网/PLC控制/5G基站专用
  • 数学基础弱能学好大数据技术吗?
  • 仓库解读 - OpenExo
  • 滑动窗口-5
  • 企业安全基石:解锁等保测评的战略价值
  • TRUMPF TruConvert DC 1008 – 1010 TruConvert System Control 逆变器
  • 【图像理解进阶】如何进行小目标物体的检测?
  • 快乐社兑换码怎么获得,免排队,
  • LLM中典型的Transformer层中:MLP Residual; LN Agg: μ, σ; SM Agg 是什么意思
  • 模拟退火算法对Rastrigin函数的优化
  • 【第五节】列表渲染
  • Flink-1.19.0源码详解8-ExecutionGraph生成-前篇
  • 【图论】倍增与lca
  • 网络编程——聊天程序实现
  • 嵌入式通信知识串讲:从同步 / 异步传输到 UART 协议 STM32F103 硬件解析
  • 换热站可视化:藏在数字里的城市温暖密码
  • 【jupyter 使用多进程方案】
  • 数据库底层索引讲解-排序和数据结构
  • 根据字符串数组的顺序重新排序 List顺序
  • 使用全局变量访问 Qt UI 组件的方法文档
  • WebRTC指纹——深度分析(中篇)
  • 5种最佳方法将iPhone语音备忘录传输到Mac
  • pycharm配conda环境
  • 阿里视频直播解决方案VS(MediaMTX + WebRTC) 流媒体解决方案
  • 基于python django的农业可视化系统,以奶牛牧场为例