我已经完成了 git shallow clone
。由于我工作的 git 项目之一超过 2Gb,因此我不必提取每个分支和旧数据。
我几乎master
只克隆了分支,然后更新了 git config 以从远程提取我的分支,即使它们是在不同的机器上创建的
[core]
repositoryformatversion = 0
filemode = false
bare = false
logallrefupdates = true
symlinks = false
ignorecase = true
hideDotFiles = dotGitOnly
[remote "origin"]
url = https://repo.com/_git/Project
fetch = +refs/heads/users/abc/*:refs/remotes/origin/users/abc/*
//I changed above one to pull all my branches
[branch "master"]
remote = origin
merge = refs/heads/master
很酷的是,现在我可以和 master 一起拉我的分支,这对 99% 来说非常好。有时我想明确地拉另一个用户分支users/xyz/TestBranch
。
我如何修改 git config 来拉取它。如果不更新git config
以拉取所有分支(完整副本),它会抛出error: pathspec 'users/xyz/TestBranch' did not match any file(s) known to git