我有一个git存储库,有许多人为此做出贡献。因此,每个拥有自己的存储库的用户都在其工作区中进行本地检我想再保留一个本地仓库作为查找最新代码的集中位置。所以我想拥有远程存储库的精确副本。通过它,我的意思是我的集中式仓库应该始终与远程存储库同步(24/7)。所以我正在寻找类似的东西,如果有人将新提交推送到远程仓库,我的集中仓库应该检查(git pull)最新代码,以便始终获得更新的代码。请告诉我如何实现这一目标
答案 0 :(得分:0)
对于本地git repo(即使你把它当作一个集中的地方),它也无法自动与远程git repo同步。
如果远程仓库中有新的更改,有两种方法可以同步本地仓库:
脚本可以是:
#!/bin/sh
git fetch -p
for bran in $(git branch -r)
do
{
if [[ $bran == *"origin/HEAD -> origin/"* ]]; then
echo "this is not a branch"
else
{
localb=$(echo $bran | cut -d'/' -f 2)
echo "This is $localb branch"
git checkout $localb
git pull origin $localb
}
fi
}
done
计划运行脚本,你可以参考:
schedule running a bash shell script in windows
使用post-receive hook,以便在将更改推送到远程repo时,然后自动执行脚本。