将浅的克隆转换为完整的克隆

后续的这个问题:如果我有一个浅的克隆,如何获取所有较旧的提交,使其成为一个完整的克隆?

你可以运行git fetch --depth=1000000 (假设版本库的提交less于100万次)。

下面的命令(git版本1.8.3)将浅层克隆转换为正常的克隆

 git fetch --unshallow 

然后,要访问所有分支机构(感谢@Peter在评论中)

 git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*" git fetch origin 

我只需要深化一个回购,直到一个特定的提交。

读完man git-fetch ,我发现不能指定提交,但可以指定一个date:

 git fetch --shallow-since=15/11/2012 

对于那些需要渐进式深化的人来说,另一个man引用:

 --deepen=<depth> 

类似于–depth,除了它指定了从当前浅边界而不是从每个远程分支历史的尖端提交的数量。

你可以试试这个:

 git fetch --update-shallow