克隆单分支后克隆另一个分支
Posted
技术标签:
【中文标题】克隆单分支后克隆另一个分支【英文标题】:Clone another branch after cloning single-branch 【发布时间】:2022-01-20 08:25:22 【问题描述】:我正在使用以下命令克隆一个分支:
git clone user@git-server:project_name.git -b branch_name --single-branch /your/folder
现在我想从服务器检查另一个分支。我尝试了下面的命令,它没有工作
git checkout another_branch
克隆一个分支后,如何克隆/checkout/pull/fetch 另一个分支?
【问题讨论】:
【参考方案1】:您可以通过在git fetch
调用中的远程名称之后指定另一个远程分支来获取另一个远程分支:
git fetch origin another_branch
获取后,您会在 FETCH_HEAD
中找到它,并使用它来创建本地分支:
git checkout FETCH_HEAD -b another_branch
【讨论】:
【参考方案2】:除了Mureinik's answer——它适用于一些“一次性”/短期工作案例——您还可以使用git remote
添加其他分支,或将您的单分支克隆更新为全分支克隆:
git remote set-branches --add origin another-branch
在此之后,git fetch origin
将创建远程跟踪名称origin/another-branch
,这将允许git checkout another-branch
调用--guess
模式从您的远程跟踪名称创建您的(本地)分支名称another-branch
origin/another-branch
.
要对克隆进行去单分支化,请使用:
git remote set-branches origin "*"
(照常跟在git fetch
之后)。
请注意,您是否需要引用星号取决于您的命令行解释器,但通常这样做是安全。
【讨论】:
以上是关于克隆单分支后克隆另一个分支的主要内容,如果未能解决你的问题,请参考以下文章
使用git clone 克隆版本库时为啥只克隆了一个.git隐藏文件夹?
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段
GitGit 分支管理 ( 克隆远程分支 | 克隆 master 分支 git clone | 查看远程分支 git branch -a | 克隆远程分支 git checkout -b )(代码片段