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

💥功能特点

简单易用

无需外部依赖,易于移植

相关推荐
JavaGuide4 小时前
一个神级 PR Review Agent 诞生了:读 diff、写总结、找风险全自动!
github·ai编程
逛逛GitHub6 小时前
1.3 万人点赞的 GitHub 项目,让 AI Agent 操作 Office 文件。
github
OpenTiny社区7 小时前
Skill 设计:封装、评测、运营,一次讲透
前端·github
本地化文档8 小时前
xlwings-docs-l10n
python·github·excel·gitcode·sphinx
徐小夕9 小时前
倒腾2天,我开源了一款AI驱动的实时 3D CAD / 参数化建模工作台
前端·架构·github
Zeno乌鸦10 小时前
用 OpenAI SDK 配置自定义 Base URL:一次多模型接入实践
github
用户2959485550510 小时前
重力空间的一次实践——我做了个与众不同的本地知识库
github
dong_junshuai10 小时前
每天一个开源项目#36 dcg:3.3K Stars 的 AI 命令安全闸门,亚毫秒拦截灾难操作
github
带娃的IT创业者10 小时前
从 iptv-org/iptv 看开源协作:如何像 AI Agent 一样思考工程化实践
人工智能·开源·github·软件开发·ai agent·工程化实践·开源协作