You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何备份包含所有分支的完整Git历史记录与代码

全分支带工作区Git完整备份方法

各命令特性说明

不同clone参数的行为差异如下,和带工作区全分支备份的需求不匹配:

  • 普通git clone {url}:默认拉取全部分支的提交对象,但仅为默认主分支(main/master)创建本地分支,其余分支仅保留远端引用,直接查看本地分支时容易误以为只拉取了主分支内容
  • git clone --bare、git clone --mirror:两个命令创建的都是裸仓库,设计定位是服务端中转仓库,本身不带工作区,不会检出实际代码文件,因此无法直接查看可编辑的代码文件

正确操作步骤

  1. 执行带全分支拉取参数的克隆命令,得到带工作区的普通仓库,拉取所有分支的完整提交历史:
git clone --no-single-branch {替换为你的仓库地址}

克隆完成后进入仓库目录,执行git branch -a即可看到所有分支的引用,所有提交历史已经完整保存在本地。

  1. 如果你需要为所有远端分支创建对应的本地分支(切换分支时不需要手动指定远端引用),在仓库目录下执行以下批量命令即可:
for remote_branch in `git branch -r | grep -v HEAD`; do
  local_branch=${remote_branch#origin/}
  git branch --track $local_branch $remote_branch
done

执行完成后,运行git branch就能看到全量本地分支,切换任意分支都能直接加载对应分支的工作区代码,所有历史记录完整保留,满足完整备份需求。


内容的提问来源于stack exchange,提问作者vincentsty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 23:51:20