背景
如果你是一位患有“contributions 强迫症”的程序员,当你每天点开github看到自己的contributions 是这样零零散散的样子,是否也会像我一样崩溃大哭!

虽然没法坚持每天都去更新自己的仓库,但依旧幻想着下面这幅场景!

卧槽,我的梦中情表!顿时舒服多了
那就开始吧
第一步:创建一个github 仓库

(一) windows本地自动化定时任务

1. 在app.js 文件中写入以下代码
这段代码的主要目的就是 拉取最新main分支上的代码,然后更新package.json 文件的updateTime字段,然后push到远程仓库
const { execSync } = require("child_process");
const path = require("path");
const fs = require("fs");
// 设置你的仓库路径
const repoPath = "./";
const time = "2024 1/8 17.52";
// 更新仓库
const updateRepo = () => {
try {
// 进入仓库目录
process.chdir(repoPath);
// 执行git pull命令
execSync("git pull origin main");
console.log("代码拉取成功!");
//更新package.json 中的updateTime 字段
const packageJsonPath = path.resolve(__dirname, "./package.json");
const packageJson = require(packageJsonPath);
packageJson.updateTime = new Date().toLocaleString();
// 写入package.json
fs.writeFileSync(packageJsonPath, JSON.stringify(packageJson, null, 2));
console.log("updateTime 更新成功!");
// push 到远程仓库
execSync("git add .");
execSync('git commit -m "update"');
execSync("git push origin main");
console.log("远程仓库更新成功!");
} catch (error) {
console.error("仓库更新失败:", error.message);
}
};
updateRepo();
2. 写好app.js 后将代码push到我们前面创建的远程仓库main分支中
3. 打开windows 定时任务程序

4. 创建任务
5. 设置名称

6. 设置触发器

7. 设置操作
8. 完成
然后保存就可以了,这样每天定时会执行我们设定好的node脚本(前提是电脑处于开机状态),帮我们更新仓库代码,坐等contributions更新。
(二)服务器自动化脚本
放在服务器上的好处就是即使你不打开电脑,它每天也会定时执行(推荐)
1. 新建一个定时服务time-server.js
2. 使用node-cron 开启定时服务
const cron = require("node-cron");
const { sendDataToEmail } = require("./action/send-data-to-email");
// 每天的 7 点执行定时任务
cron.schedule(
"0 7 * * *",
() => {
require("./app.js"); //调用我们上面的app.js
},
{
timezone: "Asia/Shanghai", // 设置时区为亚洲/上海
}
);
// 每天的 12 点执行定时任务
cron.schedule(
"00 12 * * *",
() => {
require("./app.js"); //调用我们上面的app.js
},
{
timezone: "Asia/Shanghai", // 设置时区为亚洲/上海
}
);
3. 然后将time-server.js 放在服务器上执行,这样就大功告成了!
绿油油的大草原将属于每一个强迫症

本文介绍如何使用Node.js在Windows本地和服务器上创建自动化定时任务,定期更新GitHub仓库的package.json文件,以模拟连续的贡献行为,满足‘贡献强迫症’程序员的需求。



被折叠的 条评论
为什么被折叠?



