在浅克隆之后,Git推送到新的遥控器

时间:2014-12-23 05:16:39

标签: git github

有可能这样做吗?我有几个分支和很多提交,我正在尝试 git push - --all origin但我得到shallow update not allowed

提前致谢。

1 个答案:

答案 0 :(得分:0)

不,那是不可能的。

拥有影子克隆意味着它们在您的存储库中最早的提交是“反向悬挂”,即它们指向您没有的父提交。这使得您的数据结构无效,因为git通常会强制执行完整的历史记录 - 它会在您指示它进行浅层克隆时掩盖问题,但仍然如此。

您只能推送已经缺少提交的遥控器。

因此,您的解决方案是解压缩克隆,然后推送到新的存储库。或者,如果您想避免在您的存储库中拥有所有历史记录,您可以从您自己的上游(希望不浅)创建新存储库,而无需触及您自己的存储库然后推入它。