我正在使用git-flow分支模型的git仓库。我已将其推送到中央仓库。新加入项目的开发人员如何克隆它?
克隆仓库只会得到master
分支。新开发人员如何获取develop
分支以及他选择的一些功能分支?
我正在使用git-flow分支模型的git仓库。我已将其推送到中央仓库。新加入项目的开发人员如何克隆它?
克隆仓库只会得到master
分支。新开发人员如何获取develop
分支以及他选择的一些功能分支?
正如user1615903 已经指出的,一个简单的
git clone <remote repo url>
这条命令会从远程存储库中获取所有分支,包括 master
和 develop
。你可以通过使用 git branch -r
或 git branch -a
命令在本地克隆中查看所有远程分支。
根据Git clone
doc文档:
将存储库克隆到新创建的目录中,为克隆存储库中的每个分支创建远程跟踪分支(可使用 git branch -r 查看),并创建和检出一个从克隆存储库当前活动分支分叉出来的初始分支。
如果您想要在本地对这些分支进行操作,可以使用以下命令创建它们:
git branch <local branch name> <remote branch>
或者像这样用一个命令创建并检出分支
git checkout -b <local branch name> <remote branch>
git checkout <branch name>
就可以完成工作。请参阅文档:如果找不到<分支>,但确实存在一个跟踪分支在恰好一个远程(称其为<remote>)中具有匹配的名称,则视为等效于: $ git checkout -b <branch> --track <remote>/<branch>
- 1615903git branch <本地分支名称> <远程分支>
,它将从当前所在的某个提交中分支出来(例如,如果你在克隆命令之后没有做任何事情,那么它就是基于主/HEAD),对吗?这样远程分支和本地分支就不会相同了。是这样吗? - Sarangit clone
命令会创建并检出一个初始分支,该分支是从克隆的仓库当前活动分支(默认为 master
)派生而来。因此,请将您的中央仓库当前活动分支更改为 develop
:
cd /path/to/central/repo
git symbolic-ref HEAD refs/heads/develop
develop
而不是master
。
clone
是完全克隆。使用git branch -a
命令可以显示所有分支。 - 1615903git branch
命令只显示了master
分支,我以为它只克隆了主分支。我的错。 - Sathish Manohar