如何在git clone之后恢复已删除的分支?

时间:2017-02-03 06:44:21

标签: git github

我有一个本地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

我的branch1branch2在哪里,以及如何恢复它们?

我在远程存储库中没有branch1branch2的副本。

1 个答案:

答案 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分支。