我有一个使用git clone www.someserver.com/mygitrepo
创建的git存储库。我想维护此存储库的完整源代码和历史记录的离线备份,是否足以每隔一段时间调用存储库中的git pull
和git fetch
?据我所知git pull
应该从远程分支更新当前本地分支,git fetch
应该更新其各自远程分支的所有本地分支。但git fetch
是否还会下载在初始git clone
电话后添加的分支?可以假设我使用此方法进行完整的最新备份吗?只需致电get fetch
即可。实现完整备份的最佳方法是什么?
修改
为了澄清一点,我对获得所有分支的兴趣不大,我更感兴趣的是维护存储库的完整副本,包括标签等服务器将无法使用的事件。
答案 0 :(得分: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上进行更改,您可以将其设置为不执行此操作,但之后它会在您更改旧提交时停止备份)