文章目录
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 。
- 上传你的二进制文件。
具体步骤
- 创建两个仓库:一个私有仓库(比如myapp-dev),一个公开仓库(myapp-release)
- 开发时全部在私有仓库myapp-dev上进行,包括新功能开发、bug修复等。
- 开发完成后,在私有仓库上打标签发布版本:
bash
git tag -a v0.0.1 -m "release version"
- 只把标签和对应的提交对象推送到公开仓库myapp-release:
bash
git push origin v0.0.1
在公开仓库页面中,点击"Releases"选项卡,然后点击"Create a new release"按钮。
选择你刚创建tag,标题、描述等信息,并上传需要发布的文件。
- 在公开仓库myapp-release只会看到发布的标签,不包含代码历史记录。
- 用户可以通过公开仓库下载您发布的版本。
广告
这里给自己项目打个广告,求star,项目地址:https://github.com/shepf/httpcat-release
🚀HttpCat 概述
HttpCat 是一个基于go实现的 HTTP 的文件传输服务,旨在提供简单、高效、稳定的文件上传和下载功能。
项目目标:一个可靠、高效、易用的HTTP文件传输瑞士军刀,它将大大提高你的文件传输控制力和体验。 无论是临时分享还是批量传输文件,HttpCat都将是你的优秀助手。
💥功能特点
简单易用
无需外部依赖,易于移植