我的主分支和开发分支在GitHub上被远程跟踪。如何克隆这两个分支?


当前回答

git克隆应该复制整个存储库。尝试克隆它,然后运行gitbranch-a。它应该列出所有分支。如果您想切换到分支“foo”而不是“master”,请使用git checkout foo。

其他回答

这个Bash脚本帮助了我:

#!/bin/bash
for branch in $(git branch --all | grep '^\s*remotes' | egrep --invert-match '(:?HEAD|master)$'); do
    git branch --track "${branch##*/}" "$branch"
done

它将为所有远程分支创建跟踪分支,除了master(您可能从原始clone命令中得到)。我想你可能还需要

git fetch --all
git pull --all

当然

一行:gitbranch-a|grep-vHEAD|perl-ne'chomp($_);s |^\*?\s*||;如果(m|(.+)/(.+)|&&not$d{$2}){print qq(git branch--track$2$1/$2\n)}否则{$d{$_}=1}‘|csh-xfs像往常一样:在复制rm-rf宇宙之前,在您的设置中进行测试一行的积分归用户cfi

gitclone--原始repo上的镜像很好地实现了这一点。

git clone --mirror /path/to/original.git
git remote set-url origin /path/to/new-repo.git
git push -u origin

如果使用Bitbucket,则可以使用import Repository。这将导入所有Git历史记录(所有分支和提交)。

截至2017年初,该评论中的答案有效:

gitfetch<origin name><branch name>为您关闭分支。虽然这不会同时拉动所有分支,但您可以对每个分支单独执行此操作。

好吧,当你克隆你的回购时,你有所有的分支。。。

如果你只是做git分支,它们是隐藏的。。。

所以,如果您想查看所有分支的名称,只需添加--all标志,如下所示:

gitbranch—all或gitbranch-a

如果你只是到分行结账,你就能得到你所需要的一切。

但是,如果你克隆后,其他人创建了分支,该怎么办?

在这种情况下,只需执行以下操作:

git获取

并再次检查所有分支。。。

如果您想同时取件和结账,可以执行以下操作:

git获取和git签出您的branch_name

还为您创建了下图,以简化我所说的内容: