git仓库全量迁移
本文介绍 Git 仓库的完整镜像迁移。
通过 git 命令,将本地仓库的所有分支、标签和远程引用一次性推送到目标仓库,非常适合进行仓库迁移或备份。
命令构成
1 | # 拉取所有远程分支和标签 |
拉取命令
git fetch origin --prune --tags --force 会拉取原远程仓库的所有分支和标签,并且删除本地已经不存在的远程分支。
和 git fetch --all 相比,它更适合迁移前的准备工作,能保证本地仓库的状态和原远程仓库完全一致。
和git pull相比,它不会自动合并分支,避免了不必要的冲突。
推送命令
git push --mirror <remote> 会将本地仓库的所有分支、标签和远程引用推送到目标仓库,实现完整的镜像迁移。
需要注意的是,目标仓库最好是新建的空仓库,否则可能会覆盖已有内容。使用这个命令时要非常小心,确保目标仓库没有重要数据。
适用场景
- 需要将本地仓库完整迁移到新的远程仓库。
- 需要备份本地仓库的所有分支和标签。
- 需要保持本地和远程仓库完全一致。
总之,git push --mirror 是一个非常强大的命令,可以帮助我们快速完成仓库的完整迁移,但也要谨慎使用,避免误操作导致数据丢失。