Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
git克隆不';t导入所有远程分支_Git_Git Branch_Git Clone_Git Bare - Fatal编程技术网

git克隆不';t导入所有远程分支

git克隆不';t导入所有远程分支,git,git-branch,git-clone,git-bare,Git,Git Branch,Git Clone,Git Bare,从裸git存储库克隆后,导入的本地存储库中没有所有分支。以下是体系结构 下面是这个裸存储库形成的步骤 我有一个现有的存储库(a,如图所示)。我做了一些分支 在此分支内进行筛选以排除一些无用的目录 使用git init--bare new_repo.git 在a本地存储库中,我使用git remote set URL origin/path/new_repo.git更改了远程URL 使用命令git push origin'*:*'将a的内容推送到b,并获得成功 在此阶段,运行命令git bran

从裸git存储库克隆后,导入的本地存储库中没有所有分支。以下是体系结构

下面是这个裸存储库形成的步骤

  • 我有一个现有的存储库(a,如图所示)。我做了一些分支 在此分支内进行筛选以排除一些无用的目录
  • 使用
    git init--bare new_repo.git
  • a本地存储库中,我使用
    git remote set URL origin/path/new_repo.git
    更改了远程URL
  • 使用命令
    git push origin'*:*'
    a的内容推送到b,并获得成功
  • 在此阶段,运行命令git branch-r可以正确显示所有远程分支
  • 现在,当我克隆b(裸存储库)时,将创建克隆的本地存储库(图中的c),它具有正确的目录结构。但问题是,当我尝试使用
    git branch-r
    列出所有远程分支时,它只列出主分支

  • 为什么克隆的存储库没有所有远程分支,我如何才能导入所有这些分支?

    git fetch origin
    或任何远程设置


    然后
    git签出分支机构\u NAME

    您的意思是
    git推送源“*:*”
    ?如果你真的做了
    git-push-origin':*:'
    ,这也许可以解释问题(或者可能repo
    a
    只有分支
    master
    ,因为
    git-push-origin'*:*'
    只推本地分支,而不是远程跟踪分支)。谢谢你的回答和更正。但我感到困惑,因为在运行了
    git push origin'*:*'
    之后,当我执行
    git branch-r
    时,它正确地显示了所有远程存储库,包括a和b。嗯,有可能
    git push origin'*:*'
    确实推动了远程跟踪分支。但是如果是这样的话,那还是没用的,因为
    git clone
    只将
    b
    中的本地分支从裸repo
    b
    复制到新repo
    c
    。这就是为什么您希望这些是
    b
    上的本地分支。这对@torek非常有用。谢谢。我怎么能把它们作为b的本地分支呢?有很多方法。一开始最简单的方法是将它们作为
    a
    上的本地分支,这样从
    a
    推到
    b
    时,它们就会作为
    b
    上的本地分支。但是,考虑到它们已经就位,一种方法是登录到承载
    b
    的服务器,并创建指向与远程分支相同的提交的本地分支(然后选择性地删除远程分支,因为它们可能没有用)。或者,对于
    a
    上的每个远程分支,推送到
    b
    上相应的本地分支(此代码不适合作为注释)。感谢您的回答,但不幸的是,它没有帮助。$git签出AMS_ENH_021110错误:路径规范“AMS_ENH_021110”与git已知的任何文件都不匹配。确定。。。您能否确认您要查找的远程分支
    AMS_ENH_021110
    是否存在于远程分支上?在UI中检查它,确保指向完全相同的远程url。当我在裸存储库上运行
    git branch-r
    时,该分支显示为远程分支。但是该命令不显示本地存储库上的远程分支。