是否有相当于Git中的“svnrdump dump --incremental”?GIT相当于“svnrdump dump --incremental”
我想从远程服务器增量备份几个svn和git仓库到本地服务器,但似乎没有直接的方式来“转储”远程GIT仓库。
基本上我执行任何“混帐取--all”与已经存在的或“混帐克隆--mirror”为所有新的回购,其次是“混帐束创建--all”。
是否还有其他更好的解决方案?
是否有相当于Git中的“svnrdump dump --incremental”?GIT相当于“svnrdump dump --incremental”
我想从远程服务器增量备份几个svn和git仓库到本地服务器,但似乎没有直接的方式来“转储”远程GIT仓库。
基本上我执行任何“混帐取--all”与已经存在的或“混帐克隆--mirror”为所有新的回购,其次是“混帐束创建--all”。
是否还有其他更好的解决方案?
一旦full bundle is created,您可以创建新的增量捆绑。
我已经在this answer中提到了一个script to make incremental bundles(除了一次wekk一个完整的包)为我所有的回购。
echo "Create INCREMENTAL backup for '${name}' (previous was ${_dd}-${_dt}[${s}]" >> "${logf}"
echo "${nowd} Create INCREMENTAL backup for '${name}' (previous was ${_dd}-${_dt}[${s}]" >> "${logfb}"
git -C "${path}" bundle create "${bkp}/${name}-${nowd}-${describe}-incr.bundle" --since=${nbd}.days.ago --all
status=$?
的OP确认in the comment:
最后我做一个 “
git bundle create
” “git fetch --all
” 后,和/或 “git clone --mirror
”
这个问题是热闹。 Git(仅仅是作为一个DVCS)本质上总是一种“增量备份”。有人可能会说这是总是“倾销”。如果设置了远程(即,您已经克隆了远程存储库),则git fetch
/git pull
会使其保持最新状态。
如果您需要将存储库打包为单个文件,我建议您查看一个名为tar
的程序。如果你确定你想要一个完整的镜像(跟踪相同的遥控器),将一个git仓库转储到一个文件:tar c .git > /path/to/my-repo-tarball.tar
。
感谢您的提示,VonC!我在“git fetch --all”和/或“git clone --mirror”之后做了一个“git bundle create”。不知道,但在我看来,最接近我最初的请求的解决方案... – user3752299
@ user3752299好吧,我已经包括在更多的知名度的答案你的结论。 – VonC