news 2026/6/10 15:51:39

【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/6/10 3:28:31

STC单片机开发指南 — — 在Keil中一键添加STC头文件

在搜索引擎中搜索AiCube-ISP&#xff0c;找到并打开如下图所示的官网连接&#xff1b;找到最新版的AiCube-ISP软件&#xff0c;我下载的时候是6.96G版&#xff0c;版本可能会有更新&#xff0c;这个不要紧直接点击对应的软件下载按钮即可&#xff1b;下载完成后&#xff0c;打开…

作者头像 李华
网站建设 2026/6/10 7:57:38

Label Studio国际化实战:从零搭建多语言数据标注平台

Label Studio国际化实战&#xff1a;从零搭建多语言数据标注平台 【免费下载链接】label-studio 项目地址: https://gitcode.com/gh_mirrors/lab/label-studio 当你的团队遍布全球&#xff0c;而数据标注工具却只显示单一语言时&#xff0c;工作效率会大打折扣。本文将手…

作者头像 李华
网站建设 2026/6/10 8:01:12

2025-简单点-python的元类编程

类的类自定义元类基础 创建一个自定义元类&#xff0c;通常需要继承 type并重写其 __new__或 __init__方法。 class VerboseMeta(type):"""一个在创建类时打印信息的元类示例"""def __new__(cls, name, bases, attrs):# 在类对象真正创建之前&am…

作者头像 李华
网站建设 2026/6/10 8:01:11

LightGBM自动化工作流权限故障深度解析与治理实践

LightGBM自动化工作流权限故障深度解析与治理实践 【免费下载链接】LightGBM microsoft/LightGBM: LightGBM 是微软开发的一款梯度提升机&#xff08;Gradient Boosting Machine, GBM&#xff09;框架&#xff0c;具有高效、分布式和并行化等特点&#xff0c;常用于机器学习领域…

作者头像 李华
网站建设 2026/6/10 8:03:45

Photoshop图层批量导出:5个技巧让效率提升10倍

Photoshop图层批量导出&#xff1a;5个技巧让效率提升10倍 【免费下载链接】Photoshop-Export-Layers-to-Files-Fast This script allows you to export your layers as individual files at a speed much faster than the built-in script from Adobe. 项目地址: https://gi…

作者头像 李华
网站建设 2026/6/10 3:14:10

计算机科学基础操作sort排序:原理、算法及应用

排序是计算机科学中的基础操作&#xff0c;它将一组数据按特定规则重新排列。无论是在整理联系人列表、分析销售数据&#xff0c;还是在数据库查询中&#xff0c;高效的排序都是提升程序性能的关键。理解不同排序方法的原理与适用场景&#xff0c;对于编写高效、可靠的代码至关…

作者头像 李华