GIT 大项目浅克隆及历史恢复

有时候部署机带宽较小,中途有git提交了大文件然后又删除这种情况可以考虑使用浅克隆的方式来进行临时发版。后续有需求可以在慢慢的完整恢复。

# 仅获取最近一次提交的完整代码
git clone --depth 1 -b <branch-name> <repository-url>

# 示例
git clone --depth 1 --branch main https://github.com/user/repo.git

本地快速开发也可以这样搞。

但是有两个后遗症:1、无法查看完整历史提交记录;2、无法切换其他分支

解决方案:

1、恢复完整历史记录

git fetch --unshallow

2、恢复分支切换

# 查看当前远程分支设置
git config remote.origin.fetch

# 修改远程分支设置
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"

# 根据配置更新一下
git remote update

参考文章:
https://zhuanlan.zhihu.com/p/597688197
https://blog.csdn.net/qq_42000667/article/details/125234281

Author: thinkwei

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注