分别有仓库 A(github),B(JAE 的 git),本机为C。
A, B都进行了 README.md 的初始化,就是说,这个情况下,已经存在冲突了,log不一致。
先从仓库A获取下来,C 修改完毕提交,顺利提交至A,
此时 如何从 C 提交到B,需要进行多少操作,使得仓库记录 A 和 B 的log一致(后面一致即可)?
这个问题我尝试过,没解决。
认证高级PHP讲师
这么久了,经过了 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.
其实可以把初始化的文件清掉,再本地.git/config增加上另外一个远程仓库的地址,如:[remote "all"]url = https://github.com/segment/test.giturl = https://git.oschina.net/segment/test.git后面的操作都一样,提交代码会同步提交到两个仓库里了。
没试过两个git仓库的情况,我猜测可以这样:
1.git remote add $C远程仓库名 $C远程仓库url
2.fetch到C
3.本地merge
4.push $C远程仓库名 $工程名
参考:http://www.git-scm.com/book/zh/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8
保持一个分支(假设为master分支)所有log相同的方案:
推上去后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
git push -f 'B远程仓库' '分支'
配置镜像仓库即可1.git remote add --mirror=push --mirror=fetch repoName url2.git push repoName master
这么久了,经过了 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.
其实可以把初始化的文件清掉,再本地.git/config增加上另外一个远程仓库的地址,如:
[remote "all"]
url = https://github.com/segment/test.git
url = https://git.oschina.net/segment/test.git
后面的操作都一样,提交代码会同步提交到两个仓库里了。
没试过两个git仓库的情况,我猜测可以这样:
1.git remote add $C远程仓库名 $C远程仓库url
2.fetch到C
3.本地merge
4.push $C远程仓库名 $工程名
参考:http://www.git-scm.com/book/zh/Git-%E5%9F%BA%E7%A1%80-%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93%E7%9A%84%E4%BD%BF%E7%94%A8
保持一个分支(假设为master分支)所有log相同的方案:
推上去后C和B的log就保持一致了,之后就可以继续操作
如果你想保持所有branch都一致这我就建议你干脆在jae上新建一个项目把C推上去
希望能帮到你
我猜想,在从任一远程仓库拉取之前,先
然后拉取,修改,添加,提交,推送。再
继而有冲突解决冲突,没有冲突的话,直接拉取另一远程仓库代码,然后按部就班地修改,添加,提交,推送。
全靠猜的,具体的还请题主自己实践一下。仅供参考。
我想你应该是已经知道怎么添加多个远程仓库了,这个我就不说了。
直截了当: 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