分别有仓库 A(github),B(JAE 的 git),本机为C。
假设以 a 仓库作为最终的使用仓库, b为发布仓库。分支都为 dev
第一步,增加远程仓库
git remote add origin1 git.a
git remote add origin2 git.b
第二步,本地确保没 change 的东西,拉去远程仓库地址,然后进行 rebase 。
git fetch origin1
git rebase -i origin1/dev
如果有冲突,解决完。
git push -f origin1 dev git push -f origin2 dev
done.
==================================================
一份代码推送到多仓库
通过谷歌、度娘可以很快的找到一大堆关于git如何配置推送到多仓库,配置我就不在啰嗦了,直接打开 .gitconfig
文件添加或看命令:
git remote set-url --add origin https://www.xxx.com/xxx/xxx.git
配置是好了,但是我找了半天也没找到在两个或多个仓库建好之后是如何初始化,举个栗子: A
为你现在正在使用的远程仓库,里边已有用绳命敲的码; B
为新建的空的、null、empty的远程仓库。那么问题来了: 怎么才能把两个远程仓库代码同步?以便以后可以代码同时推送到这两个仓库。
这就是答案、答案、答案
直接在命令行敲:
git push -f origin master
注释: origin
远程仓库名, master
分支名, -f
为force,意为:强行、强制。
这行命令的意思就是强制用本地的代码去覆盖掉远程仓库的代码,敲 git push --help
可查看官方的解释(英文的)。当然不止这一种操作方式了,但是这种操作是最快速的,不会有冲突什么的,当然我也有一个忠告:请谨慎使用!请谨慎使用!请谨慎使用!
======================================================
Git一键推送多个远程仓库
做一个工程,有可能会添加了多个远程仓库,在推送到远程仓库时,如果一个一个地Push,比较麻烦,有没有简单点的呢,可以使用一条命令Push多个远程仓库呢?
比如我做了一个commonuseppa的工程,添加了三个远程仓库,如何使用一条命令Push到这三个远程仓库中呢?
编辑本地仓库的.git/config文件即可达到目的。
[remote "all"]
url = git@github.com:luoshupeng/commonuseppa.git
url = git@gitcafe.com:chinesedragon/commonuseppa.git
url = chinesedragon@gitcd.com:/commonuseppa
这样,使用git push all即可一键Push到多个远程仓库中。