git版本发布

3.11、版本发布

​ 通常叫:

  • 打版本标签:tag
  • 创建发布版本:Release
  • 上传编译产物:把 Qt 编译出的 exe、压缩包等作为 release 附件
1、基本概念
1、Git tag

比如:

bash 复制代码
git tag -a v1.0.0 -m "first release"
git push origin v1.0.0

这表示给当前提交打一个版本号 v1.0.0。

2. Release

在 GitHub / Gitea / GitLab 上,Release往往是基于某个 tag 创建的"发布页"。

可以在这个页面里:

  • 写版本说明
  • 说明更新内容
  • 上传附件
  • 让别人直接下载程序

比如上传:

  • MyApp-windows-x64.zip
  • MyApp.exe
  • README.txt
  • sha256.txt
2、发布方式
  1. 本地写好代码并提交
  2. 打一个 tag,如 v1.0.0
  3. 推送 tag 到远程
  4. 在 Gitea/GitHub 上创建 Release
  5. 上传编译好的可执行文件或压缩包

详细步骤:

  1. 提交当前源码

    bash 复制代码
    git add .
    git commit -m "release: prepare v1.0.0"
    git push origin main
  2. 打标签

    推荐使用带说明的注释标签:

    bash 复制代码
    git tag -a v1.0.0 -m "Release version 1.0.0"

    查看标签:

    bash 复制代码
    git tag

    查看标签详情:

    bash 复制代码
    git show v1.0.0
  3. 推送标签到远程

    bash 复制代码
    git push origin v1.0.0

    如果想一次把所有本地 tag 都推上去:

    bash 复制代码
    git push origin --tags
  4. 准备可执行文件

    一般有两种发布方式:

    • 方式 A:直接上传 exe + 依赖目录

      比如整理成:

      bash 复制代码
      MyApp_release/
      ├─ MyApp.exe
      ├─ Qt6Core.dll
      ├─ Qt6Gui.dll
      ├─ Qt6Widgets.dll
      ├─ platforms/
      │  └─ qwindows.dll
      └─ ...

      然后压缩成:

      bash 复制代码
      MyApp-windows-v1.0.0.zip
    • 方式 B:使用 windeployqt 自动收集依赖

      这是 Qt Windows 发布最常用的方法。

      例如:

      bash 复制代码
      windeployqt MyApp.exe

      它会自动把依赖 dll、platforms 插件等拷贝到 exe 所在目录。

      然后你把整个目录打包:

      bash 复制代码
      MyApp-windows-v1.0.0.zip

      这个更标准。

  5. 创建 Release

    进入仓库页面后:

    Releases → New Release

    然后填写:

    • Tag:v1.0.0
    • Title:v1.0.0
    • Description:写更新说明
    • Attachments:上传你的 zip / exe

    例如说明可写:

    markdown 复制代码
    ## 更新内容
    - 完成主界面
    - 修复设置页面闪退问题
    - 优化图片加载速度
    
    ## 下载说明
    请下载:
    - MyApp-windows-v1.0.0.zip

    最后点发布即可。

3、命名建议

建议你的发布文件命名规范一点,例如:

bash 复制代码
项目名-平台-架构-版本.zip

例如:

bash 复制代码
PhotoSorter-windows-x64-v1.0.0.zip
PhotoSorter-linux-x64-v1.0.0.tar.gz
PhotoSorter-source-v1.0.0.zip
相关推荐
Winlifes5 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
lpfasd1235 天前
2026年第38周GitHub趋势周报
python·科技·github
7177776 天前
研发平台选哪家比较好:2026年主流平台对比与Gitee选型指南
人工智能·gitee
u1301306 天前
GitHub 热榜项目:日榜(2026-09-21)
人工智能·github
张洛闻Eren6 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
m4Rk_6 天前
【论文阅读】Agent 记忆机制(77):TSM——让记忆回到事件真正发生的时间
论文阅读·人工智能·学习·开源·github
橘和柠6 天前
依赖冲突:装个包装崩了项目,怎么排查和救回来
github
别动我齐刘海6 天前
ROS2 Jazzy + C++ 实战路线——ros2_control
c++·人工智能·python·opencv·机器学习·机器人·github
怕浪猫6 天前
ZCode 开源了来看看这是个什么东西
node.js·github·代码规范