我想知道如何拉取包含所有还未被 gc 的提交的 repo,如果可能的话。
是不是类似这样的:
$ git clone x
$ cd x
$ git fetch origin -f
? 或者是其他东西?
答案1
我不知道有任何命令说“关闭远程存储库中的所有提交对象,即使是那些未引用的对象”。
您只能在远程存储库中引用提交。您可以使用以下命令执行此操作:
git fetch [remote] [remoteBranch]:[localBranch]
远程存储库需要创建对任何悬空提交的引用,然后您才能获取它们。如果您有权访问远程存储库,则可以使用以下命令执行此操作:
git fsck --lost-found
输出将显示任何悬而未决的提交。使用 为它们提供引用git branch [branchname] [commit sha1]
,然后您就可以获取它们。