将git clone本地副本还原为共享存储库

时间:2014-06-25 03:28:07

标签: git git-branch

我使用git clone备份了我的存储库。我已经使用这里描述的命令来恢复它:

How to convert a normal Git repository to a bare one?

我原来的共享存储库有很多分支。 e.g。

git branch -a
* master
branch1
branch2

然而,共享存储库从备份恢复,所有分支都缺失

git branch -a 
* master
remotes/origin/branch1
remotes/origin/branch2

我是否应该采取任何措施来恢复从克隆中恢复的共享存储库中的分支

1 个答案:

答案 0 :(得分:1)

此命令

git branch -a 
* master
remotes/origin/branch1
remotes/origin/branch2

表明分支机构仍在您的存储库中,它们只是.git/refs/remotes/origin/下的远程跟踪分支机构,而不是.git/refs/heads/下的常规本地分支机构。

只需在.git/refs/heads/下创建本地副本,就像使用任何其他类型的分支一样:

git branch branch1 remotes/origin/branch1
git branch branch2 remotes/origin/branch2

文档

以下是创建分支的语法(来自[官方git-branch(1)手册页](https://www.kernel.org/pub/software/scm/git/docs/git-branch.html,为简洁而截断):

git branch <branchname> [<start-point>]

除其他外,<start-point>可以是任何类型的分支引用或提交sha。