是否有等同于" svnrdump dump --incremental"在GIT?
我正在尝试逐步将多个svn和git repos从远程服务器备份到本地服务器,但似乎没有直接的方法来转储"转储"远程GIT仓库。
基本上我执行" git fetch --all "已经存在或" git clone --mirror "所有新的回购后跟" git bundle create --all "。
还有其他/更好的解决方案吗?
答案 0 :(得分:1)
一旦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=$?
我最终做了一个"
git bundle create
"在"git fetch --all
"之后和/或"git clone --mirror
"
答案 1 :(得分:0)
这个问题很有趣。 Git(仅仅因为是DVCS)本质上总是一个增量备份"。有人可能会说总是"倾销"。如果设置了遥控器(即,您已经克隆了远程存储库),git fetch
/ git pull
将使其更新。
如果您需要将存储库打包为单个文件,我建议您查看名为tar
的程序。如果您确定需要完整的镜像(跟踪相同的遥控器),请将git repo转储到单个文件:tar c .git > /path/to/my-repo-tarball.tar
。