惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

雷峰网
雷峰网
B
Blog
博客园_首页
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
罗磊的独立博客
Jina AI
Jina AI
C
Check Point Blog
Martin Fowler
Martin Fowler
J
Java Code Geeks
博客园 - 司徒正美
美团技术团队
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
有赞技术团队
有赞技术团队
U
Unit 42
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园 - 叶小钗
博客园 - 三生石上(FineUI控件)
小众软件
小众软件

卡库伊2.0

用cloudflare来识别访客IP判断国家 批量计算文件hash 通过SSH同步数据 Indesign的一些技巧 一个无广告和弹窗的搜狗输入法 – 卡库伊2.0 Linux挂载nas路径 – 卡库伊2.0 ffmpeg将mp4转为m3u8 – 卡库伊2.0 php和nginx默认端口冲突 – 卡库伊2.0 引用中文字体文件太大如何解决 – 卡库伊2.0 Cloudflare免费缓存 – 卡库伊2.0 搜狗输入法去广告和弹窗 – 卡库伊2.0 FRP+反代的重定向 – 卡库伊2.0 网页小游戏 – 卡库伊2.0
计划任务:git同步 – 卡库伊2.0
sunplace · 2025-12-19 · via 卡库伊2.0

Skip to content

1. 安装git

yum install git -y

2. 配置git

# 核心配置(关联提交记录)
git config --global user.name "Your Name"  # 替换为你的名称
git config --global user.email "[email protected]"  # 替换为脚本中用的邮箱

# 适配脚本的关键配置
git config --global core.sshCommand "ssh -i ~/.ssh/github_key -o StrictHostKeyChecking=no -q"  # 全局指定SSH密钥

mkdir -p /path/to
cd /path/to
GIT_SSH_COMMAND="ssh -i ~/.ssh/github_key -o StrictHostKeyChecking=no" \
git clone [email protected]:username/repo_name.git

3. 生成ssh key

# 生成密钥(指定路径为 ~/.ssh/github_key,无密码)
ssh-keygen -t rsa -b 4096 -C "[email protected]" -f ~/.ssh/github_key

# 查看生成的密钥(确认文件名匹配)
ls ~/.ssh/github_key*
# 输出:github_key(私钥)、github_key.pub(公钥)

# 启动SSH代理
eval "$(ssh-agent -s)"

# 添加自定义私钥到代理(与脚本一致)
ssh-add ~/.ssh/github_key

# 配置开机自动加载(永久生效)
echo "eval \"\$(ssh-agent -s)\"" >> ~/.bashrc
echo "ssh-add ~/.ssh/github_key" >> ~/.bashrc
source ~/.bashrc  # 立即生效
  1. 登录Github;
  2. 进入「个人设置 → SSH 密钥」;
  3. 粘贴上述公钥内容cat ~/.ssh/github_key.pub,粘贴到github,保存。

4. 编写脚本

#!/bin/bash
cd /patch/to/
export GIT_SSH_COMMAND="ssh -i ~/.ssh/github_key -o StrictHostKeyChecking=no -q"

# 总是重建仓库(永久删除历史)
git checkout --orphan new_branch >/dev/null 2>&1
git add . >/dev/null 2>&1
git commit -m "Updated: $(date '+%Y-%m-%d')" >/dev/null 2>&1
git branch -D main >/dev/null 2>&1
git branch -m main >/dev/null 2>&1
git push -f origin main >/dev/null 2>&1

echo "[$(date +'%Y-%m-%d %H:%M:%S')] Synced successfully"
exit 0