我有一个本地git存储库(从远程origin
分支克隆):
~/foo
我在本地存储库中有一些分支:
~/foo$ git branch
*master
branch1
branch2
origin
存储库有一个我本地没有的分支branch3
,我想将它添加到我的本地。我做了以下操作,希望将branch3
添加到我的本地存储库中:
~/foo/..$ git clone -b branch3 --single-branch git@github.com:<localrespository_name>.git
之后,我发现本地存储库中只有branch3
:
~/foo$ git branch
*branch3
我的branch1
,branch2
在哪里,以及如何恢复它们?
我在远程存储库中没有branch1
,branch2
的副本。
答案 0 :(得分:0)
如果已存在远程分支3,则应该足以执行
git checkout -b branch3 origin/branch3
而不是您使用的克隆命令。
您可以使用
查看所有分支(包括遥控器)git branch --all
例如,在linux-stable树上:
andi@SHARK:~/working_git/linux-stable$ git branch
master
andi@SHARK:~/working_git/linux-stable$ git branch --all
* master
remotes/origin/HEAD -> origin/master
remotes/origin/linux-2.6.11.y
remotes/origin/linux-2.6.12.y
remotes/origin/linux-2.6.13.y
remotes/origin/linux-2.6.14.y
<SNIP>
remotes/origin/linux-4.9.y
remotes/origin/master
andi@SHARK:~/working_git/linux-stable$ git checkout -b v4.9 origin/linux-4.9.y
Checking out files: 100% (11425/11425), done.
Branch v4.9 set up to track remote branch linux-4.9.y from origin.
Switched to a new branch 'v4.9'
andi@SHARK:~/working_git/linux-stable$ git branch
master
* v4.9
andi@SHARK:~/working_git/linux-stable$ git log -1
commit 75353ac8ff437322ca5520b28d9f9b4b41b39bd6
Author: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: Sun Jan 15 13:43:07 2017 +0100
Linux 4.9.4
现在我们在remote / origin / linux-v4.9.y分支上获得了本地v4.9分支。