将所有本地分支推送到Git中的其他远程
我正在提取将所有本地分支推送到Git中的其他远程,git,Git,我正在提取源代码如下: git fetch origin 这将获得所有分支作为master和dev 然后我将其推送到另一个远程镜像服务器: git push mirror-server master 或者,基本上是git推送——所有镜像服务器 但这不会将mydev分支推送到mirror server,只推送到master分支 我得到的错误是: error: src refspec dev does not match any. 如图所示,我尝试: git push -u mirror-se
源代码
如下:
git fetch origin
这将获得所有分支作为master
和dev
然后我将其推送到另一个远程镜像服务器:
git push mirror-server master
或者,基本上是git推送——所有镜像服务器
但这不会将mydev
分支推送到mirror server
,只推送到master
分支
我得到的错误是:
error: src refspec dev does not match any.
如图所示,我尝试:
git push -u mirror-server dev
git push --all
我还试着切换当前分支,然后按下。不走运!只有一次我得到了一些东西,它是这样的:Git基本上把所有文件放在dev
到master
并合并文件
基本上,我需要从源站
提取更改,然后将所有分支推送到所有其他远程位置。此命令序列将您的GitHub存储库(或任何其他存储库,如果您更改URL)克隆到~/local repos
,初始化~/remote repos.git
中的空存储库,并从~/local repos
推送到~/remote repos.git
所有分支
git clone 'https://github.com/nhnc-nginx/apache2nginx' ~/local-repos
git init --bare ~/remote-repos.git
cd ~/local-repos
git remote add mirror-server ~/remote-repos.git
git push --mirror mirror-server
稍后,在~/localrepos
中更新跟踪分支(并获取新分支),并在~/localrepos
中执行git fetch origin
。您可以使用再次将所有内容镜像到~/remote repos.git
。如果要推送单个分支(例如origin/gh页面
),请使用git推送镜像服务器origin/gh页面
请注意https://github.com/nhnc-nginx/apache2nginx
remote自动命名为origin
git fetch origin
从origin
存储库获取可访问的对象,并将分支存储为跟踪分支。跟踪分支的前缀是远程名称(origin
)。如果执行git checkout gh pages
且不存在gh pages
分支,git将在执行签出之前执行git分支--跟踪gh pages origin/gh pages
,从而创建上游设置为origin/gh pages
的gh pages分支
这可能是Git报告的错误的来源。您只获取了origin/gh页面
,并试图推送不存在的gh页面
分支。作为签出的一部分,创建了gh页面
,所以推送工作就开始了
还要注意,您正在创建本地存储库的镜像,而不是origin
。如果要镜像GitHub存储库,应在刚刚创建的空镜像中使用git remote add origin执行git fetch origin
https://github.com/nhnc-nginx/apache2nginx“
![remote rejected]master(禁止删除当前分支)
更清楚地说,当我拉入origin时,本地文件夹上没有数据,镜像服务器上也没有master和dev分支。镜像服务器只创建主分支,但当我想要推送dev分支时,它会抛出一个错误。我无法在镜像服务器上自动创建开发分支。当前只有origin有dev分支。我想同步。如果源服务器有一个新分支,则镜像服务器必须有一个新分支it@Palec,我会跟着它,但你能看到这一页吗:https://github.com/nhnc-nginx/apache2nginx
。如你所见,这有两个分支<代码>母版
和gh页面
。我可以执行git fetch
,然后将master但不是gh页面
推送到我的另一台服务器。我现在要试试新的测试。我就是这么说的。您尝试推送不存在的本地分支dev
。您刚才使用了origin/dev
跟踪分支。顺便说一句,git-push--all
您的意思是git-push--all-mirror-server
,不是吗?