我克隆了一个包含许多分支的Git代码库。然而,git branch
只显示了一个分支:
$ git branch
* master
如何在本地拉取所有分支,使得执行git branch
命令时显示以下结果?
$ git branch
* master
* staging
* etc...
我克隆了一个包含许多分支的Git代码库。然而,git branch
只显示了一个分支:
$ git branch
* master
如何在本地拉取所有分支,使得执行git branch
命令时显示以下结果?
$ git branch
* master
* staging
* etc...
基于Learath2的答案,这是我在执行git clone [...]
并cd
到创建的目录后所做的:
git branch -r | grep -v master | awk {print\$1} | sed 's/^origin\/\(.*\)$/\1 &/' | xargs -n2 git checkout -b
对我有效,但我不能保证它适用于您。请小心。
git remote add origin https://yourBitbucketLink
git fetch origin
git checkout -b yourNewLocalBranchName origin/requiredRemoteBranch (use tab :D)
现在本地的 yourNewLocalBranchName
就是你所需的远程分支 requiredRemoteBranch
。
对于使用 Visual Studio 的用户,在“程序包管理器控制台”中:
git branch | %{ git fetch upstream; git merge upstream/master}
我使用这个命令来拉取源分支,git pull origin
--single-branch
克隆设置后获取所有分支:https://dev59.com/e2Mm5IYBdhLWcg3wT9mU(如果您只指定了一个分支,则`git fetch --all`永远不会起作用!) - Matthew Wilcoxsongit clone --bare <repo url> .git
(请注意,在克隆存储库时需要添加“--bare”和“.git”作为“bare”存储库),然后运行git config --bool core.bare false
(将“bare”标志设置为false),接着执行git reset --hard
(将HEAD移动到存储库的当前HEAD)。现在,如果你运行git branch
,你应该能够看到从所克隆的存储库中获取的所有分支。 - Gabriel Ferraz