github私有仓库开发,公开仓库发布版本

文章目录

github私有仓库开发,公开仓库发布版本

需求背景

github私有仓库开发,公开仓库发布版本,既可以保护源代码,又可以发布版本给用户使用。许多知名软件项目都采用了这样的开发模式。

实现思路

总体思路是开发和发布分离。

GitHub Releases

官方文档: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases

中文:https://docs.github.com/zh/repositories/releasing-projects-on-github/about-releases

GitHub 中有一个 Releases 的概念,其实与 tag 差不多,简单理解就是在打一个 tag 的基础之上,用 releases 来进行管理。

GitHub 的 releases 是 2013 年发布的新功用,旨在帮忙软件开发者分发新版别给用户。

如果开发者需要发布软件或者应用程序,可以使用GitHub Releases来实现。GitHub Releases是GitHub提供的一项功能,可以将代码打包成软件包,并发布到GitHub上。开发者可以在GitHub上创建一个新的Release,并上传软件包到Release中。GitHub会自动将软件包标记为发布状态,并提供下载链接。

您可以创建包装软件的版本,以及发行说明和二进制文件的链接,供其他人使用。

发行版基于用于标记存储库历史记录中的特定点的 git tags。

点击 Create a new release (制定一个新的release)

  • 为你的release输入一个版本名称,版本是基于 git tags 。
  • 上传你的二进制文件。

具体步骤

  1. 创建两个仓库:一个私有仓库(比如myapp-dev),一个公开仓库(myapp-release)
  2. 开发时全部在私有仓库myapp-dev上进行,包括新功能开发、bug修复等。
  3. 开发完成后,在私有仓库上打标签发布版本:
bash 复制代码
git tag -a v0.0.1 -m "release version"
  1. 只把标签和对应的提交对象推送到公开仓库myapp-release:
bash 复制代码
git push origin v0.0.1

在公开仓库页面中,点击"Releases"选项卡,然后点击"Create a new release"按钮。

选择你刚创建tag,标题、描述等信息,并上传需要发布的文件。

  1. 在公开仓库myapp-release只会看到发布的标签,不包含代码历史记录。
  2. 用户可以通过公开仓库下载您发布的版本。

广告

这里给自己项目打个广告,求star,项目地址:https://github.com/shepf/httpcat-release

🚀HttpCat 概述

HttpCat 是一个基于go实现的 HTTP 的文件传输服务,旨在提供简单、高效、稳定的文件上传和下载功能。

项目目标:一个可靠、高效、易用的HTTP文件传输瑞士军刀,它将大大提高你的文件传输控制力和体验。 无论是临时分享还是批量传输文件,HttpCat都将是你的优秀助手。

💥功能特点

简单易用

无需外部依赖,易于移植

相关推荐
老马啸西风4 小时前
v0.29.2 敏感词性能优化之基本类型拆箱、装箱的进一步优化的尝试
性能优化·开源·nlp·github·敏感词
伴杯猫7 小时前
【ESP32-IDF】基础外设开发2:系统中断矩阵
c语言·单片机·嵌入式硬件·mcu·物联网·github
程序视点9 小时前
GitHub Copilot代码审查大升级!路径级指令+组织级规范,开发者效率再提升!
github·github copilot
行思理14 小时前
linux 安全与防护,全方向讲解
linux·安全·github
NocoBase14 小时前
6 个最佳无代码 IT 资产管理工具推荐
低代码·开源·github
uhakadotcom15 小时前
DuckDB相比于ClickHouse有什么不同点和优势?
后端·面试·github
掘金安东尼17 小时前
Node.js 如何在 2025 年挤压 I/O 性能
前端·javascript·github
老马啸西风19 小时前
v0.29.1 敏感词性能优化之内部类+迭代器内部类
性能优化·开源·nlp·github·敏感词
杨杨杨大侠20 小时前
第5章:实现Spring Boot集成
java·github·eventbus
杨杨杨大侠21 小时前
第6章:高级特性与性能优化
java·github·eventbus