我这样取origin
:
git fetch origin
这会将所有分支设为master
和dev
。
然后我将它推到另一个远程mirror-server
:
git push mirror-server master
或者,基本上是git push --all mirror-server
。
但是这不会将我的dev
分支推送到mirror-server
,只会推送master
分支。
我得到错误:
error: src refspec dev does not match any.
如图所示我尝试过:
git push -u mirror-server dev
git push --all
我也试过切换curent branch然后推。没运气!只有一次我得到的东西是这样的:Git基本上将dev
上的所有文件都放到master
并合并文件......
基本上我需要从origin
提取更改,然后将所有分支推送到所有其他遥控器。
答案 0 :(得分:2)
此命令序列将您的GitHub存储库(或任何其他存储库,如果您更改URL)克隆到~/local-repos
,初始化~/remote-repos.git
中的空存储库并从~/local-repos
推送到{{ 1}}所有分支。
~/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
内更新跟踪分支(并获取新分支),并在~/local-repos
内执行git fetch origin
。您可以使用git push --mirror mirror-server
再次将所有内容镜像到~/local-repos
。如果您想推送单个分支(例如~/remote-repos.git
),请使用origin/gh-pages
。
请注意,git push mirror-server origin/gh-pages
remote自动命名为https://github.com/nhnc-nginx/apache2nginx
。 origin
从git fetch origin
存储库中获取可访问的对象,并将分支存储为跟踪分支。跟踪分支以远程名称为前缀(在本例中为origin
)。如果您执行origin
并且不存在git checkout gh-pages
分支,Git会在执行结帐之前执行gh-pages
,这将创建git branch --track gh-pages origin/gh-pages
分支,其上游设置为gh-pages
。< / p>
这可能是您Git报告的错误的根源。您刚刚抓取origin/gh-pages
并尝试推送不存在的origin/gh-pages
分支。作为结帐的一部分,gh-pages
已创建,因此请继续工作。
另请注意,您正在创建本地存储库的镜像,而不是gh-pages
。如果要镜像GitHub存储库,则应使用origin
在刚刚创建的空镜像中执行git fetch origin
。