我正在这样获取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
我还尝试过切换当前分支,然后再推送。没运气!只有一次我得到的东西,它是这样的:Git基本上就是把上的所有文件dev
,以master
和合并文件...
基本上,我需要从中拉出更改origin
,然后将所有分支推送到所有其他遥控器。
此命令序列会将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
稍后,您更新跟踪分支(并获得新的)在~/local-repos
与git fetch origin
执行中~/local-repos
。您可以使用~/remote-repos.git
再次镜像所有内容git push --mirror mirror-server
。如果要推送单个分支(例如origin/gh-pages
),请使用git push mirror-server origin/gh-pages
。
注意,https://github.com/nhnc-nginx/apache2nginx
remote是origin
自动命名的。git fetch origin
从origin
存储库中获取可访问对象,并将分支存储为跟踪分支。跟踪分支的前缀是远程名称(origin
在这种情况下)。如果执行但git checkout gh-pages
不gh-pages
存在分支,则Git会git branch --track gh-pages origin/gh-pages
在执行结帐之前执行,这会创建gh-pages
上游设置为的分支origin/gh-pages
。
这可能是您的Git报告的错误的来源。您只获取了数据,origin/gh-pages
并尝试推送不存在的gh-pages
分支。作为结帐的一部分,gh-pages
已创建,因此请进行推送。
还要注意,您正在创建本地存储库的镜像,而不是origin
。如果要镜像GitHub存储库,则应git fetch origin
在刚刚创建的空镜像中执行git remote add origin 'https://github.com/nhnc-nginx/apache2nginx'
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句