如何在 Github 上获得 1000 star?

news/2025/3/20 3:17:29/

作为程序员,Github 是第一个绕不开的网站。我们每天都在上面享受着开源带来的便利,我相信很多同学也想自己做一个开源项目,从而获得大家的关注。然而,理想很丰满,现实却是开发了很久的项目仍然无人问津。

最近,我的一个项目获得了超过 1000 star 的成绩,我认为这是一个重要的里程碑。这个项目已耗时 5 个月,起初我并未预料到会获得如此多的支持。在本文中,我将分享本次项目的经验,祝愿大家也能早日拥有第一个 1000 star 的项目。

背景

几个月前,我在写作时突然冒出一个想法:为什么每次写作都要四处查阅资料?这些内容在写作前明明已经反复论证过,写作只是一个总结过程而已,问题究竟出在哪里?

究其原因,是没有形成良好的记录习惯。研究某项技术时,频繁地复制粘贴、切换应用会严重影响思路。即使快速记录,写作时面对凌乱的记录,也会导致查找困难,效率低下。此外,记忆力衰退也是一个因素,很多事情只能记住流程,无法记住细节。

因此,我打算开发一个小工具来快速记录这些内容。最初的想法是通过截图记录,然后利用 OCR 识别图片中的文本,最后在写作时,通过 AI 的能力整理识别后的文本。在后续版本中,我又增加了 Markdown 编辑器,使得记录与写作的流程完全打通。这个思路也受到了大量支持者的欢迎。如果有兴趣,可以试用一下 NoteGen。

截图显示了关于如何获取1000个星星的建议,包括提高项目质量、主动宣传、参与<a class=开源社区等方法。 " />

image.png

开源项目可以获得什么?

无数大佬都在各自领域默默奉献,才有了今天飞速发展的局面,我们都是站在巨人的肩膀上,在开源的世界里添砖加瓦。做开源的好处有很多:

  1. 获得关注,这是一种很特殊的情绪价值。
  2. 学到技术,既然要做为何不尝试一下新的技术?
  3. 规范开发的流程,提高了写作和交流能力。
  4. 建立个人品牌,获得人脉关系,职业发展机会。
  5. 等等…

GitHub 作为程序员的技术名片,你在 Github 的一切贡献都将会成为简历的亮点。我曾经在面试时收到了大量重复的简历,无非是用了某某框架、某某组件库,爱岗敬业之类的话术,如果这时你的简历上出现了参与过某些开源项目,拥有多少 star,你就会在这堆简历中脱颖而出。

勇敢迈出第一步

无论你想在开源项目中获得什么,首先要做的就是迈出第一步。要知道,每个人都是从小白逐步成长起来的,但你需要有迈出第一步的勇气,不要顾虑自己的代码是否写得不好,功能是否强大。只要能解决某个问题,就可以着手去做。先做出第一版,走通流程,后续可以逐步去完善它。

能拔脓就是好膏药。

请无视那些只会站着嘲讽的人,他们可能会说你在重复造轮子。即使你在重复造轮子,你也应该做一些特别的轮子,即使只是轮毂变了一些样子,你也可以吸引到一些忠实的用户。

开源都可以做些什么?

在 Github 上你可以看到各类的仓库,几乎你能想到的这里都可以找得到,在做之前可以去搜索一下,看一下别人是如何做的。如果你还不清楚自己要做什么,我在这提供一些方向供大家参考:

  1. 开发 app,这类其实很容易收获到大量的关注,因为大家可以直接下载安装包即可体验,不需要复杂的环境搭建,我做的就是独立开发三件套之一的笔记,再不济也可以去做高仿 app,也可以收获一些想学习开发技术的用户关注。
  2. 框架、插件、组件库类,这也是经常被喷重复造轮子的,其中框架和组件库其实很难做得起来,他们真正的运用在实际工作中,大家不会轻易去变动。
  3. 后台解决方案,这类开源项目也有很多,不乏获得几万 star 的项目,想做好这一点,需要你拥有丰富的实际工作经验。
  4. 写作,我认为写作也是一种开源,将你的经验分享给大家。
  5. Awesome… 这类通常需要持续对业内关注,通常要在经营上去花时间。

能做的还有很多,比如我这些年也做过很多小工具:

  • 好医生自动学习考试 Chrome 插件,给我媳妇开发的浏览器插件,她是护士,每年被在线学习搞得很痛苦,花几百块就可以不用学,在我的研究下,发现了网站一些很弱智的漏洞,直接做到了视频秒学和自动考试的功能。
  • 掘金小号管理平台,我自己偶尔会写写文章分享,但是一年可能也憋不出几篇文章,有的时候写完感觉又没人给点赞,就想自己给自己点,然后用 nest.js 写了后端,pupppeteer 实现了爬虫,当时研究破解滑块验证码在知乎写了一个回答《滑块验证码能被机器破解么?》,居然得到了 1k+ 赞。但是由于注册小号太麻烦,也不敢给自己点赞怕被封号,后来直接开源了,不过也没见到有人用。(大家都很正直嘛)
  • VS Code 翻译插件,这个我自己用了好多年了,有几个同事被我安利也在用,当时弄的是动态获取 token ,所以无需配置就可以用。但是最近发现不能用了,我也没空去管他。
  • VS Code 摸鱼插件,平时总看头条,直接开发了个在 vscode 中看头条的插件,后来也是闲麻烦,直接光明正大摸鱼了。
  • 前端脚手架,我职业成长的见证,技术从最开始的 gulp 到后来的 webpack 、vite ,从 jquery 到 vue3 ,但是现在又更多好用的脚手架可用,我已经不需要它了。

生活中处处充满了需求,你将它做出来,可能就会有人去用。

参与开源项目也是一条不错的道路,我在 uni-app 团队待过几个月,跟着几个大佬也学到了很多。

如何经营?

此时,你已经开发完成第一版,觉得不错,发布了第一个 release,发现还是无人问津,因为开源不仅是公开你的代码,你要检查一下是否这几项还没有做?

  1. README.md,请完善它,这是你项目的门户,任何用户看到空荡荡的介绍都会失去继续下去的兴趣。你应该在这里写清介绍、特性、使用方式等等。
  2. About,它在页面的右上角,请完善 Description 和 Topices,这样可以更加容易让大家搜索到你的仓库。
  3. 建立官网和文档,大家基本没有查看源码或自行摸索去使用的耐心。

小技巧,README 徽章可以提高你项目的专业性(看起来)。

image.png

这里可以清洗的展示项目构建通过,当前版本号,软件状态(alpha 指开发的早期阶段),下载量,维护频率。

另外就是演示,没有什么比图片或视频更能吸引人的了。

从此就会有零星的用户访问你的仓库,如果你戳到了他的痛点,他就会留下 star。

你可以通过 Insights -> traffic 来查看每天有多少用户访问,这些用户来自于哪里。

image.png

可以看到最多的是一个来自于 v2ex 的论坛,这就是我要继续讲的话题。

如何推广?

经过你的不懈努力,你觉得项目已经非常好用,但是只有获得了几个 star,其中还有几个是你朋友的支持。此时你应该做的是去推广它们,谁会去注意暴风中的那一片树叶呢?

酒香也怕巷子深。

star-history-2025318.png

可以看到 NoteGen 项目初期 star 涨速非常缓慢,因为这段时间我没有去做任何推广,完全是靠自然流量。

直到 2025 年春节前夕,我发现有几个大 V 通过微博、twitter 等平台宣传了我的项目,实现了一波 star 飞速增长,此后,也陆陆续续一些小博主或媒体在发,但是几乎没什么流量。没了大 V 加持,我的流量很快就落下来了,随后我开始了在各种技术社区论坛推荐我的项目。

这里我介绍一下我平时推广的社区:

  1. 掘金,自从字节接手之后,质量已经远不如从前,大家很难分到流量,充斥着各种 AI 水文和自家产品的广告,有 CSDN 那味了。
  2. 知乎,你可以将自己的开发经验或将自己的产品发布在某些问题下,流量会比掘金好很多。

再后来我发现论坛才是推广的好地方,可以得到更高的曝光量:

  1. LINUX DO 这是一个新兴的社区,进来你就会看到《请不要把互联网上的戾气带来这里!》的置顶帖,所以这里人都非常友善,即使你的项目不是很优秀,大家也不会对你阴阳怪气,你可以放心大胆地发。
  2. V2EX 访问它需要梯子,而且现在的邀请码比较难搞,花钱都不一定有人卖,这是个绝对专业的社区,里面有很多大佬,如果你不怕被嘲讽可以在这里发一波试试。

你可以选择自己常用的社区,一般老账号总也可以获得更高的流量吧。

请注意,大家不要水贴,也不要过于频繁的去发,避免大家产生厌恶。如果你写作能力不错,我建议还是去写一些开发过程中的技术总结,夹带项目地址,这样也可以获得一些流量,算软广吧,至少可以让有这方面需求的人能学习到一些知识。

另一种获得流量的方式:噱头

这里说的噱头请不要做标题党,例如 《一大早起来,看到 GitHub 让我立遗嘱?》,大家喜闻乐见,觉得很有意思,顺便就给了 star。

维护好你的社区

通常情况下,你的用户会通过 issues 向你提供建议或提交 bug,这里是一个健康的开源项目最重要的环节。

image.png

你可以为每一条 issue 添加标签,以记录你未来将如何处理他们。积极的去处理每一条 issue,尤其是 bug,你应该去感谢这些无偿帮你测试的人,尽量将其解决,然后 close。

提建议的人很多,但是无需盲目遵从,你可以开通 discussions,更加方便的让大家去讨论如何去实现这些功能。也可以建立粉丝群…

如果有人给你提交 PR,那么恭喜你,他们不但喜欢你的项目,而且还愿意与你一起完善它。

在这里我要感谢一下他们几位:

image.png

坚持下去

什么事情都不是一蹴而就的。

开源需要的就是时间和耐心,独立去做一个项目相当于在一个人成立了一家公司,所有的事都压在你一个人的头上,你可能需要做产品、设计、开发、测试、运维、运营、客服、文案、策划等等…

image.png

仅开发这一项,我在这几个月的时间就提交了 600 次代码,实际上,开发我认为只占了整个项目 1/5 时间,剩下的大多数用于产品的设计与推广。

我本身不是一个独立开发者,我都是利用工作时的摸鱼时间来进行开源项目的推进,并且下班回家还要带娃,所以支撑我去做这个事情完全是因为兴趣使然,我会利用工作中的空闲时间进行开发,在带娃时思考如何去做。

开源这件事很难赚钱,完全是为爱发电,所以我希望大家尊重每一个开源项目。


http://www.ppmy.cn/news/1580487.html

相关文章

Redis的消息队列是怎么实现的

Redis 本身并不是一个专门的消息队列系统,但它的 List、Pub/Sub 和 Stream 数据结构可以用来实现消息队列的功能。以下是 Redis 实现消息队列的几种常见方式: 1. 基于 List 实现消息队列 Redis 的 List 是一个双向链表,支持在头部和尾部进行高效的插入和删除操作,非常适合…

vue中js简单创建一个事件中心/中间件/eventBus

vue中js简单创建一个事件中心/中间件/eventBus 目录结构如下&#xff1a; eventBus.js class eventBus {constructor() {this.events {};}// 监听事件on(event, callback) {if (!this.events[event]) {this.events[event] [];}this.events[event].push(callback);}// 发射…

[从零开始学习JAVA ] 泛型

前言&#xff1a; 本文将详细介绍之前我们在JAVA 中一直在讲的泛型&#xff0c;各位感兴趣的同学可以点击进来观看。 泛型&#xff1a; 泛型是一种编程概念&#xff0c;它允许在定义类、接口或方法时使用类型参数&#xff0c;这样可以在使用时指定实际的类型。通过使用泛型&a…

微软开源神器OmniParser V2.0 介绍

微软开源的OmniParser V2.0是一款基于纯视觉技术的GUI智能体解析工具&#xff0c;旨在将用户界面&#xff08;UI&#xff09;截图转换为结构化数据&#xff0c;从而实现对计算机屏幕上的可交互元素的高效识别和操控。这一工具通过结合先进的视觉解析技术和大型语言模型&#xf…

vue-router实现

实现一个简化版的 vue-router 可以帮助我们更好地理解 Vue 路由是如何工作的。Vue Router 主要的功能是基于浏览器的 URL 来管理组件的显示&#xff0c;能够根据 URL 变化切换不同的视图。下面是一个简化版的实现&#xff0c;用于帮助你理解基本的路由机制。 创建一个简单的 V…

Api架构设计--- HTTP + RESTful

Api架构设计--- HTTP RESTful 什么是RESTfulRESTful 设计原则RESTful 接口类型RESTful 状态码RESTful Uri设计原则Api传参&#xff1a;QueryString 和 UriPath RESTful和HTTP的区别注意事项 什么是RESTful RESTful&#xff08;Representational State Transfer&#xff09;是一…

Git使用和原理(3)

1.远程操作 1.1分布式版本控制系统 我们⽬前所说的所有内容&#xff08;⼯作区&#xff0c;暂存区&#xff0c;版本库等等&#xff09;&#xff0c;都是在本地&#xff01;也就是在你的笔记本或者 计算机上。⽽我们的 Git 其实是分布式版本控制系统&#xff01;什么意思呢&a…

STM32——GPIO介绍

GPIO(General-Purpose IO ports,通用输入/输出接口)模块是STM32的外设接口的核心部分,用于感知外界信号(输入模式)和控制外部设备(输出模式),支持多种工作模式和配置选项。 1、GPIO 基本结构 STM32F407 的每个 GPIO 引脚均可独立配置,主要特性包括: 9 组 GPIO 端口…