Git Hub一次克隆所有分支

我试图使用linux将整个存储库克隆到我的机器上。 我用了

git clone <url>   

然后我进入下载并键入的文件夹

git branch 

在终端。 它只向我显示主人,而不是显示在远程存储库中的其他分支。 我如何克隆所有分支机构?

我知道对于远程中的每个分支我都可以单独使用

git checkout -b <name of local branch> origin/<name of remote branch>

但除此之外还有其他办法吗?


(1)在git local repostitory里面,创建一个新的sh文件

touch getAllBranches.sh
vi getAllBranches.sh

(2)将以下内容插入到getAllBranches.sh文件中:

for branch in `git branch -a | grep remotes | grep -v HEAD | grep -v master `; do
   git branch --track ${branch#remotes/origin/} $branch
done

(3)获取所有分支机构:

chmod +x getAllBranches.sh    
sh getAllBranches.sh

(4)在本地存储库检查结果:

git branch

例如,我使用存储库:https://github.com/donhuvy/spring-boot

正如你所看到的,我已经将所有分支取到本地机器:

在这里输入图像描述


这不是太复杂,非常简单直接的步骤如下:

克隆回购后,运行$ cd myproject

git branch -a这会显示所有的远程分支。

$ git branch -a
* master
  remotes/origin/HEAD
  remotes/origin/master
  remotes/origin/v1.0-stable
  remotes/origin/experimental

如果你想在远程分支上工作,你需要创建一个本地跟踪分支:

$ git checkout -b experimental origin/experimental

通过以下命令验证您是否在所需的分支中;

$ git branch

输出会是这样;

*experimental
master
some branch2
some branch3 

注意表示当前分支的*符号。


它只向我显示主人,而不是显示在远程存储库中的其他分支。 我如何克隆所有分支机构?

分支实质上是提交的指针。 当你做一个git clone (或一个git fetch )时,你可以从远程仓库及其所有分支中检索所有提交。

但是,默认情况下, git branch不显示远程分支。 相反,它向您显示您的本地分支机构,这些分支机构可能与远程存在的分支机构有任何关系。 如果你运行git branch --all ,git会报告它所知道的所有分支,包括本地和远程分支。

值得注意的是,标签不以这种方式操作,并且本地和远程标签之间没有区别。

链接地址: http://www.djcxy.com/p/4443.html

上一篇: Git Hub Clone All Branches At Once

下一篇: After git clone, I do not see my branch