我找到了一个 git repo,里面有我需要的东西,但只有一部分。所以我拉取了它的内容sparseCheckout=true
并设置了sparse-checkout
文件。
拉取后,本地仓库看起来不错。但当我尝试将此仓库推送到另一个远程 git 仓库时,它似乎忽略了稀疏结帐配置并将完整的 repo 推送到我的新远程。
我怎样才能让 git 仅将我本地的所有内容推送到我的新远程?
答案1
你不能。稀疏的结账就是稀疏的查看– 它只会更改提取到工作目录中的文件,而不会修改实际的提交历史记录,也不会更改传输的内容。每次提交仍包含整个存储库的完整快照,并且 Git 不会让您下载提交的部分,也不会让您推送提交的部分。(是的,这也意味着您git pull
也下载了整个内容。)
(这与浅克隆不同,Git 实际上避免传输比请求的更旧的提交。)