news 2026/9/16 10:48:54

【git】git的基础使用二

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【git】git的基础使用二

切换分支

在 Git 中更换分支是一个基础且重要的操作。你可以根据下表快速了解不同场景下的核心命令,表格下方则提供了更详细的解释和关键注意事项。

操作场景核心命令说明
切换到现有本地分支git checkout传统的分支切换方式
git switchGit 2.23+ 引入的更专注的命令,专用于切换分支
创建并切换到新分支git checkout -b基于当前分支创建新分支并立即切换过去
git switch -cgit switch命令的等效选项(Git 2.23+)
基于远程分支创建本地分支git checkout -b origin/创建并切换到一个跟踪指定远程分支的本地分支

关键步骤与注意事项
在实际操作时,留意以下几点可以让过程更顺畅:

  • 查看分支情况:在执行切换前,先使用 git branch查看所有本地分支(当前分支前有 *号),或使用 git branch -a查看包括远程分支在内的所有分支 。这能帮你确认目标分支是否存在。

  • 保持工作目录整洁:在切换分支前,最好提交(commit)​ 或贮藏(stash)​ 当前的更改 。如果工作目录或暂存区有未提交的修改,Git 可能会阻止你切换分支,除非这些修改与目标分支没有冲突。

  • 处理远程分支:如果想切换到的是一个远程分支(例如,队友创建的新分支),你需要先使用 git fetch获取远程的最新信息 。然后,通常你需要基于这个远程分支创建一个本地分支再进行操作,如上表第三行所示。

提交标签

将本地代码提交到仓库并添加标签是 Git 版本控制中的常规操作,主要用于标记重要的项目节点(例如版本发布)。下面是一个清晰的流程指南,帮助你一次性完成代码提交和标签打取。

核心操作流程

以下是提交代码并添加标签的完整步骤。你可以根据实际情况调整,例如,如果远程仓库已存在,则可跳过“初始化仓库”步骤。

操作步骤详解

第一步:提交代码到本地仓库
添加文件到暂存区:使用 git add命令将你修改的文件添加到暂存区。例如,添加所有更改文件使用 git add .,添加特定文件则使用 git add 文件名。
提交到本地仓库:使用 git commit -m "你的提交信息"命令将暂存区的更改正式提交到本地仓库。提交信息应清晰描述本次修改的内容。
第二步:为提交创建标签
提交完成后,即可为这次提交打上标签。Git 主要有两种标签类型:
轻量标签:只是一个指向特定提交的引用,不包含额外信息。创建命令为 git tag <标签名>,例如 git tag v1.0.0。
附注标签:是存储在 Git 数据库中的一个完整对象,包含标签创建者、日期、标签说明等更多信息,通常用于正式发布。创建命令为 git tag -a <标签名> -m “标签说明”,例如 git tag -a v1.0.0 -m “正式发布版本 1.0.0”。
提示:如果不指定具体的提交哈希值,标签会自动打在最新的提交(即刚才的 commit)上。你可以使用 git tag命令查看所有本地标签以确认创建成功。

第三步:推送到远程仓库
本地操作完成后,需要将代码和标签推送到远程仓库(如 GitHub、Gitee)进行同步。
推送代码:使用 git push origin <分支名>(例如 git push origin main或 git push origin master)将本地提交推送到远程仓库的对应分支。
推送标签:默认情况下,git push命令不会推送标签。你需要显式地推送标签到远程仓库。
推送单个标签:git push origin <标签名>,例如 git push origin v1.0.0。
推送所有本地新标签:如果你想一次性推送所有本地新建但尚未推送到远程的标签,可以使用 git push origin --tags命令。

实用提示

标签命名的学问:标签命名通常遵循语义化版本控制规范(如 v主版本号.次版本号.修订号),这能让版本迭代的意义一目了然。
事后打标签:你也可以为过去的某个提交打标签。首先使用 git log --oneline找到对应的提交哈希值(commit hash),然后执行标签创建命令并指定该哈希值即可,例如 git tag -a v0.9.1 a1b2c3d -m “为历史提交打标签”。
删除标签:
删除本地标签:git tag -d <标签名>。
删除远程标签:先删除本地标签,然后执行 git push origin :refs/tags/<标签名>或 git push origin --delete <标签名>。操作需谨慎。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 14:41:10

GPT-5.2正式发布!国内首发“喂饭级”使用教程

近段时间&#xff0c;谷歌凭借Gemini 3赢得了一大批用户&#xff0c;称得上火力全开。12月11日&#xff0c;OpenAI也正式发布了新版本GPT-5.2&#xff0c;全力应对Gemini 3。虽然版本号只加了0.1&#xff0c;但GPT-5.2在多个实用领域&#xff08;干活能力&#xff09;更强了&am…

作者头像 李华
网站建设 2026/9/16 13:36:10

Caddy:把 HTTPS 变成默认选项的现代 Web 服务器

Caddy 是什么&#xff1f; Caddy 是一个现代化的 Web 服务器、反向代理和自动 HTTPS 平台。如果只用一句话来形容 —— Caddy 是“把 HTTPS 当成默认行为”的 Web 服务器。 和 Nginx、Apache 不同&#xff0c;Caddy 从诞生之初就围绕一个核心理念设计&#xff1a;安全应该是默…

作者头像 李华
网站建设 2026/9/16 9:18:09

Q-learning 算法 —— 无模型(model-free)强化学习

眼里没有对纪念日的专属感言&#xff0c;只有对优质文章诞生的渴望&#xff01;&#xff01;&#xff01; 一、研究背景与意义二、Q-learning 的核心思想1. 状态-动作价值函数&#xff08;Q 函数&#xff09;2. 核心创新点三、Q-learning 的更新公式&#xff08;核心公式&#…

作者头像 李华
网站建设 2026/9/16 12:30:24

如何避免过拟合?EmotiVoice在小样本下的鲁棒性设计

如何避免过拟合&#xff1f;EmotiVoice在小样本下的鲁棒性设计 在语音合成技术迅速普及的今天&#xff0c;我们早已不再满足于“能说话”的机器。用户期待的是有情感、有个性、像真人一样的声音——无论是虚拟助手温柔地安慰你&#xff0c;还是游戏角色愤怒地呐喊&#xff0c;背…

作者头像 李华
网站建设 2026/9/15 15:53:46

JavaScript 动态网页开发核心问题及实现页面动态更新方法

动态网页开发是现代Web应用的核心&#xff0c;而JavaScript是实现这一能力的关键语言。它不再是简单的页面装饰工具&#xff0c;而是驱动复杂交互、数据处理和实时内容更新的引擎。掌握JavaScript动态开发&#xff0c;意味着你能构建出响应迅速、体验流畅的现代网站。本文将避开…

作者头像 李华
网站建设 2026/9/16 1:58:28

Python中append()方法的使用、原理及效率解析

在Python编程中&#xff0c;列表的append()方法是一个基础且高频使用的操作&#xff0c;用于在列表末尾添加新元素。它看似简单&#xff0c;却直接影响着代码的效率与可读性。许多开发者因其便利性而过度依赖&#xff0c;却忽略了其背后的原理和潜在的性能陷阱。理解append()的…

作者头像 李华