git克隆不';t导入所有远程分支
从裸git存储库克隆后,导入的本地存储库中没有所有分支。以下是体系结构 下面是这个裸存储库形成的步骤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 init--bare new_repo.git
git remote set URL origin/path/new_repo.git
更改了远程URLgit push origin'*:*'
将a的内容推送到b,并获得成功git branch-r
列出所有远程分支时,它只列出主分支为什么克隆的存储库没有所有远程分支,我如何才能导入所有这些分支?
git fetch origin
或任何远程设置
然后
git签出分支机构\u NAME
您的意思是git推送源“*:*”
?如果你真的做了git-push-origin':*:'
,这也许可以解释问题(或者可能repoa
只有分支master
,因为git-push-origin'*:*'
只推本地分支,而不是远程跟踪分支)。谢谢你的回答和更正。但我感到困惑,因为在运行了git push origin'*:*'
之后,当我执行git branch-r
时,它正确地显示了所有远程存储库,包括a和b。嗯,有可能git push origin'*:*'
确实推动了远程跟踪分支。但是如果是这样的话,那还是没用的,因为git clone
只将b
中的本地分支从裸repob
复制到新repoc
。这就是为什么您希望这些是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
时,该分支显示为远程分支。但是该命令不显示本地存储库上的远程分支。