我试图通过一个浅克隆的方式来减少大型仓库的历史记录。
git clone --depth --no-single-branch 1000 url
然后我用这个脚本检查了所有分支。
#!/bin/bash
for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master `; do
git branch --track ${branch#remotes/origin/} $branch
done
之后,我改变了原点。
git remote add new-origin new-url
git remote rm origin
git remote mv new-origin origin
然后我向新仓库进行了推送。我的问题是,系统不允许对一个浅克隆的仓库进行推送。如果我返回到我的旧仓库并使用以下命令解除浅克隆:
git fetch --unshallow
那么整个代码库将再次同步。你知道一种不取消浅克隆的情况下如何使我的克隆版本非浅克隆吗?
谢谢