尝试理清楚Github fork, tag, release和PR

老天奶啊,这几天想把我写的obsidian plugin上架community plugins,没想到尝试了一周还没有成功。因为我是直接fork的obsidian kanban这个repo,然后在它的基础上进行开发,我又是第一次提PR,很多东西都是第一次接触。也算是借着这个机会更了解了github和如何做开源贡献🙏

Fork

在github上如果你看到了一个很棒的项目,想在那个项目的基础上进行开发,或是修改那个项目的bug,你就可以直接fork。

fork = copy那个repo到你的代码仓库。

和clone的区别是clone是copy到本地,而fork是直接在你的代码仓库中新建一个一样的,并且会显示上游的从属关系。

通常来讲,如果你想参与维护一个项目,可以先fork,做完修改之后再提交PR (Pull Request), 项目的维护者决定是否merge你的代码。等你成为contributor后,就可以不用fork,直接新建branch进行修改。

PR (Pull Request)

Obsidian上线community plugin有点不同,你需要fork obsidian-releases这个repo,然后在里面的community-plugins.json加入自己的项目信息。然后提交PR。

json 复制代码
  {  	
    "id": "pomokanban",
  	"name": "Pomokanban",
  	"author": "ahhhh2016",
    "description": "Pomodoro enhanced Kanban plugin with integrated Pomodoro timers, automatic breaks/rounds, and per‑card time logging.",
    "repo": "Ahhhh2016/pomokanban"
  }

它会根据id和repo来识别你的项目。在你的项目里面要确保有main.jsmanifest.json 来specify你的项目信息。

Tag

接下来讲到tag。Tag就是你把某个commit拎出来给它一个名字。

Release

有了tag之后,你可以基于这个 tag,给用户一个"可下载的版本",这就是release,是「给用户的交付物」。release里面除了打包好的代码,还可以放一些其他你想让用户一起下载的文件。

比如obsidian plugin就要求release里面要有main.jsmanifest.jsonstyle.css

打完tag之后以及每次commit之后github会进行一个build和verify,这时候先不要马上发布release,不然会报错那个release已经存在,应该等build完之后再发布release。


好啦!很简单的概念对吧,但是我最开始就是绕绕绕没绕明白。

希望我的小插件能尽快和大家见面~

相关推荐
带娃的IT创业者1 小时前
GitHub Stacked PRs:重塑现代软件开发的工作流革命
github·软件开发·工作流·代码审查·pull request·stacked prs
今夕资源网2 小时前
Windows Terminal更舒适的命令行环境 仅11MB 支持并行运行WSLLinux子系统 github开源项目
windows·github·命令行·cmd·terminal
蝎子莱莱爱打怪3 小时前
小孩儿才做选择!Hermes 和OpenClaw 我都要!
人工智能·后端·github
CoderJia程序员甲3 小时前
GitHub 热榜项目 - 日榜(2026-04-29)
ai·大模型·github·ai教程
逛逛GitHub4 小时前
推荐 3 个 GitHub 画图 Skill,一句话生成流程图、架构图。
github
你知道“铁甲小宝”吗丶5 小时前
git推送到多平台(gitee/github)
git·gitee·github
茫忙然5 小时前
【简】Obsidian + GitHub + Quartz 个人博客 简单搭建 教程
github
珑哥说自养号采购7 小时前
破解亚马逊风控:安全搭建买家号上评系统,提升店铺竞争力
人工智能·eclipse·github
茫忙然9 小时前
【全】Obsidian + GitHub + Quartz 个人博客 简单 搭建教程
github·博客搭建
Soari9 小时前
Claude Code每日更新速览(v2.1.121-2026/04/28)-彻底修复内存泄漏,MCP 增强与企业级安全适配
github·cluade code·ai for coding