2014-06-18 72 views
1

是否有相當於Git中的「svnrdump dump --incremental」?GIT相當於「svnrdump dump --incremental」

我想從遠程服務器增量備份幾個svn和git倉庫到本地服務器,但似乎沒有直接的方式來「轉儲」遠程GIT倉庫。

基本上我執行任何「混帳取--all」與已經存在的或「混帳克隆--mirror」爲所有新的回購,其次是「混帳束創建--all」。

是否還有其他更好的解決方案?

回答

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=$? 

OP確認in the comment

最後我做一個 「git bundle create」 「git fetch --all」 後,和/或 「git clone --mirror

+0

感謝您的提示,VonC!我在「git fetch --all」和/或「git clone --mirror」之後做了一個「git bundle create」。不知道,但在我看來,最接近我最初的請求的解決方案... – user3752299

+0

@ user3752299好吧,我已經包括在更多的知名度的答案你的結論。 – VonC

0

這個問題是熱鬧。 Git(僅僅是作爲一個DVCS)本質上總是一種「增量備份」。有人可能會說這是總是「傾銷」。如果設置了遠程(即,您已經克隆了遠程存儲庫),則git fetch/git pull會使其保持最新狀態。

如果您需要將存儲庫打包爲單個文件,我建議您查看一個名爲tar的程序。如果你確定你想要一個完整的鏡像(跟蹤相同的遙控器),將一個git倉庫轉儲到一個文件:tar c .git > /path/to/my-repo-tarball.tar