Git提交前时间检查

为了防止在本地看日志的时候,由于本地时间被修改,导致日志的时间存在非正确时间。通过以下脚本在提交前进行时间验证,只有是正确的时间才可以提交。
使用方法如下:

  • 复制如下脚本,命名为 pre-commit ,放到 .git/hooks 目录下
  • 在 .git/hooks 目录下使用 Git Bash 执行命令: chmod +x pre-commit
  • 请求目标的URL需要自己找个
#!/usr/bin/env node

const https = require('https');

// 请求目标 URL
const url = '';

// 发起 HTTP 请求
https.get(url, (res) => {
  let data = '';

  // 监听数据流
  res.on('data', (chunk) => {
    data += chunk;
  });

  // 响应结束时处理数据
  res.on('end', () => {
    try {
      const jsonData = JSON.parse(data);
      //console.log('返回数据:',jsonData);
      if (jsonData.code === 0) {
        const serverTime = jsonData.data.time;
        const localTime = Math.floor(Date.now() / 1000);
        //console.log('服务器时间:',serverTime," ,本地时间:",localTime);

        // 计算时间差
        const timeDifference = Math.abs(localTime - serverTime);

        // 如果时间差超过5分钟(300秒),则停止
        if (timeDifference > 300) {
          console.error('时间差超过5分钟,操作已停止。');
          process.exit(1);
        } 
      } else {
        console.error('请求时间服务器失败:', jsonData.msg);
      }
    } catch (error) {
      console.error('解析时间服务器响应失败:', error.message);
    }
  });

}).on('error', (err) => {
  console.error('请求错误:', err.message);
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值