我正在从SVN切换到Bitbucket,在SVN我有分支的HTTP URL,我可以检查出那个分支。
我看到,如果Bitbucket的情况有点不同,通过克隆回购git clone <<<repo_url>>>
,我可以检查该回购的主分支,然后使用git checkout <<branch name>>
切换到该回购中的任何另一个分支。
但我不希望这个克隆repo并检查master的冗余步骤,我直接想要检查我需要的那个repo的非master分支。
但到目前为止我找不到任何解决方案,我无法克隆该分支,因为我从Bitbucket获得的克隆URL是repo。
有谁知道如何检查远程非主Bitbucket分支而不检查主数据?
git clone <url> --branch <branch> --single-branch [<folder>]
I need to be connected/configured with that repo, which means a pre-cloning. My question is about checking out a non-master branch without checking our / cloning the master,
但我不希望这个克隆repo并检查master的冗余步骤,我直接想要检查我需要的那个repo的非master分支。
那你可以做
git clone <url> --branch <branch> --single-branch [<folder>]
如您所链接的答案中所述。
它与此不重复,因为根据您提到的问题的答案,为了执行
git clone <url> --branch <branch> --single-branch [<folder>]
,我需要连接/配置该repo,这意味着预先克隆。
不,不需要“预先克隆”。您引用的命令就像裸git clone
命令一样进行克隆。区别在于--branch
允许您指定哪个分支开头,就像您要求的那样。
也不需要任何以前与远程仓库的“连接”。在命令中指定URL会创建连接。
它是由svn和git之间的差异引起的。
http://svn-repo/branchname
获取分支。HEAD
指向某个分支时,工作目录将只包含属于该分支的文件。因此,您无法在repo URL(作为svn)之后添加分支名称,但需要将分支签出到工作目录。而对于git clone <repo URL>
,HEAD
默认指向默认(主)分支。在大多数情况下,默认(主)分支是master
分支。
如果你希望HEAD
在克隆git repo后立即指向另一个分支(没有git checkout
命令),你可以更改默认(主)分支。
如果你想将主分支从master
更改为o1
,你可以在bitbucket中设置如下:
在bitbucket repo - > settings - > Repository details - >选择Main分支为o1
- > Save repository details。
然后你也可以在你的bitbucket repo分支中找到o1
分支现在是主分支。
现在当您克隆repo时,当前分支始终是o1
分支。