项目

通用

个人资料

操作

如何在红宝书中同步您的Git仓库

对于足够新的git (>=1.6.0)

在以下示例中,应将 "git_user" 和 "project.git" 修改为您的GitHub项目

设置源仓库的(裸)镜像

git clone --mirror [email protected]:git_user/project.git

以获取更改

cd project.git
git fetch -q --all -p

通过安装cron任务使获取自动

sudo vi /etc/cron.d/sync_git_repos
*/5 * * * * app cd /path/to/project.git && git fetch -q --all -p

最后一行的 */5 定义了同步发生的分钟,例如,*/2 会导致每两分钟进行一次同步。*/5 会导致在5的倍数分钟上进行同步(5、10、15等)

对于较旧的git

以下是Farzy(Farzad FARID)编写的操作指南,说明了如何保持两个git仓库同步

以上博客文章的摘要

git clone --bare [email protected]:git_user/project.git project.git
cd project.git
git remote add origin [email protected]:git_user/project.git
git fetch -v
git fetch origin
git reset --soft refs/remotes/origin/master 

在此cron脚本中,"app" 是 project.git 目录的所有者

sudo vi /etc/cron.d/sync_git_repos
# One-way synchronization of a local and remote bare Git repository.
# Repeat this line for each repository.
*/5 * * * * app cd /path/to/project.git && git fetch origin && git reset --soft refs/remotes/origin/master > /dev/null

Ulf Unger 更新 10多年前 · 12次修订