为了防止在本地看日志的时候,由于本地时间被修改,导致日志的时间存在非正确时间。通过以下脚本在提交前进行时间验证,只有是正确的时间才可以提交。
使用方法如下:
- 复制如下脚本,命名为 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);
});