2016-02-27 111 views
2

我有一个使用git clone www.someserver.com/mygitrepo创建的git存储库。我想维护这个存储库整个源代码和历史的离线备份,是否足够每隔一段时间在存储库中调用git pullgit fetch?据我发现git pull应该从远程分支更新当前本地分支,git fetch应该更新所有本地分支从他们各自的远程分支。但git fetch也下载分支后添加最初的git clone电话?假设我通过使用这种方法获得了完整的最新备份,这可以吗?只需拨打get fetch就足够了吗?什么是实现完整备份的最佳方式?维护git存储库的备份

编辑:

只是为了澄清,我不太感兴趣,让所有的分支机构而言,我更感兴趣的是保持库的完整副本,包括标签和事件的对等服务器将不可用。

+0

[How to获取所有的git分支](http://stackoverflow.com/questions/10312521/how-to-fetch-all-git-branches) –

+0

你有没有找到可能的重复问题的解决方案? –

+0

@ A.L那里的答案还有封面标签吗?使用该方法可以安全地使用整个历史记录和源代码来维护完整的离线备份吗?我真的不明白,如果这是从那里的答案的情况下,我需要确保这是保持一个git存储库的完整脱机备份的方式。 – UnTraDe

回答

1

不,它不会自动获取所有分支。 但是你可以使用:

for remote in `git branch -r`; do git branch --track $remote; done 
git fetch --all 
git pull --all 

来源:How to fetch all git branches

,但如果你把它作为一个备份,你可以与服务器上的历史变化的问题。 (比如已经改变的提交也会在backkup上改变,你可以将它设置为不这样做,但是从更改旧提交时开始就停止备份)