git push如何至两个git仓库

分别有仓库 A(github),B(JAE 的 git),本机为C。

A, B都进行了 README.md 的初始化,就是说,这个情况下,已经存在冲突了,log不一致。

先从仓库A获取下来,C 修改完毕提交,顺利提交至A,

此时 如何从 C 提交到B,需要进行多少操作,使得仓库记录 A 和 B 的log一致(后面一致即可)?

这个问题我尝试过,没解决。

阅读 18.7k
7 个回答

这么久了,经过了 git 的不断使用,也知道了具体方法。

假设以 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.

保持一个分支(假设为master分支)所有log相同的方案:

  1. 添加B到remote列表中 git remote add jae git://xxxxx@xxxx.git
  2. 假设现在C已经同步了A并且完成了修改 那么需要提交C到B上去,这时候需要强制提交,避免出现conflict无法提交的问题:git push jae master:master --force

推上去后C和B的log就保持一致了,之后就可以继续操作

如果你想保持所有branch都一致这我就建议你干脆在jae上新建一个项目把C推上去

希望能帮到你

我猜想,在从任一远程仓库拉取之前,先

git stash

然后拉取,修改,添加,提交,推送。再

git stash pop

继而有冲突解决冲突,没有冲突的话,直接拉取另一远程仓库代码,然后按部就班地修改,添加,提交,推送。
全靠猜的,具体的还请题主自己实践一下。仅供参考。

我想你应该是已经知道怎么添加多个远程仓库了,这个我就不说了。

直截了当: C=A时 在C下 git push -f 'B远程仓库' '分支' 这样B虽然跟A C 都会有冲突,但是会被强制覆盖成C的状态。 所以是 A=B=C 。 之后的LOG就会一致了。-f参数表示强制推送的意思。
just try it

新手上路,请多包涵

配置镜像仓库即可
1.git remote add --mirror=push --mirror=fetch repoName url
2.git push repoName master

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏