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都将是你的优秀助手。

💥功能特点

简单易用

无需外部依赖,易于移植

相关推荐
砖厂小工7 小时前
用 GLM + OpenClaw 打造你的 AI PR Review Agent — 让龙虾帮你审代码
android·github
程序员鱼皮7 小时前
又一个新项目完结,我要出海了!
ai·github·开源项目
徐小夕8 小时前
pxcharts-vue:一款专为 Vue3 打造的开源多维表格解决方案
前端·vue.js·github
Moment8 小时前
想要长期陪伴你的助理?先从部署一个 OpenClaw 开始 😍😍😍
前端·后端·github
我叫黑大帅8 小时前
前端如何利用 GitHub Actions 自动构建并发布到 GitHub Pages?
前端·面试·github
HelloGitHub10 小时前
这个年轻的开源项目,想让每个人都能拥有自己的专业级 AI 智能体
开源·github·agent
刘发财16 小时前
弃用html2pdf.js,这个html转pdf方案能力是它的几十倍
前端·javascript·github
sunny8651 天前
Claude Code 跨会话上下文恢复:从 8 次纠正到 0 次的工程实践
人工智能·开源·github
ZengLiangYi1 天前
Git Tag + Semver + CI/CD:从打标签到自动发布的完整实践
github