news 2026/2/9 1:15:42

【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/1/28 22:24:35

react---JSX完全指南:从基础语法到进阶实战

JSX&#xff08;JavaScript XML&#xff09;是 React 生态中最具辨识度的特性之一&#xff0c;它将类 HTML 的语法嵌入 JavaScript 中&#xff0c;让开发者能够以直观的方式编写 UI 结构&#xff0c;同时保留 JavaScript 的逻辑能力。很多开发者最初会将 JSX 误认为是 “HTML 在…

作者头像 李华
网站建设 2026/2/5 1:49:02

34、Linux 内存管理与信号机制深度解析

Linux 内存管理与信号机制深度解析 1. 内存管理 1.1 内核分页行为改变的影响 改变内核的分页行为可能会对系统整体性能产生负面影响。当一个应用程序的页面被锁定在内存中时,为了腾出空间,其他应用程序的页面会被换出。内核会依据其算法选择最优的页面进行换出,即未来最不…

作者头像 李华
网站建设 2026/2/7 11:31:41

EmotiVoice语音合成过程中断重连机制设计思路

EmotiVoice语音合成过程中断重连机制设计思路 在构建现代交互式语音系统时&#xff0c;一个常被低估但至关重要的挑战是&#xff1a;如何让语音合成服务“扛得住”真实世界的不确定性&#xff1f; 设想这样一个场景——用户正在通过手机App收听一段由EmotiVoice生成的长篇有声读…

作者头像 李华
网站建设 2026/2/8 21:24:16

3大性能突破:PyTorch如何重塑AI绘画框架的技术格局

3大性能突破&#xff1a;PyTorch如何重塑AI绘画框架的技术格局 【免费下载链接】stable-diffusion-webui-forge 项目地址: https://gitcode.com/GitHub_Trending/st/stable-diffusion-webui-forge 当谈及AI绘画框架的技术选型&#xff0c;你是否曾困惑于为何众多项目纷…

作者头像 李华
网站建设 2026/2/3 15:23:47

Obsidian Tasks插件:让知识库变身高效任务管理中心的终极指南

Obsidian Tasks插件&#xff1a;让知识库变身高效任务管理中心的终极指南 【免费下载链接】obsidian-tasks Task management for the Obsidian knowledge base. 项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-tasks 还在为任务管理工具和笔记软件之间的割裂而烦…

作者头像 李华
网站建设 2026/2/7 15:53:33

Arduino CAN库实战指南:从入门到精通CAN总线通信

Arduino CAN库实战指南&#xff1a;从入门到精通CAN总线通信 【免费下载链接】arduino-CAN An Arduino library for sending and receiving data using CAN bus. 项目地址: https://gitcode.com/gh_mirrors/ar/arduino-CAN 还在为嵌入式设备间的可靠通信而烦恼吗&#x…

作者头像 李华