克隆单分支后克隆另一个分支

Clone another branch after cloning single-branch

我正在使用以下命令克隆一个分支:

git clone user@git-server:project_name.git -b branch_name --single-branch /your/folder

现在我想从服务器检查另一个分支。我尝试了以下命令,但没有用

git checkout another_branch

克隆一个分支后,如何clone/checkout/pull/fetch另一个分支?

您可以通过在 git fetch 调用中的远程名称后指定它来获取另一个远程分支:

git fetch origin another_branch

获取后,您会在 FETCH_HEAD 中找到它,并使用它来创建本地分支:

git checkout FETCH_HEAD -b another_branch

除了 ——这对一些“一次性”/短期工作案例有好处——你也可以使用 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)。

请注意,您是否需要 引用星号取决于您的命令行解释器,但通常安全这样做它。