84669 Lernen von Personen
152542 Lernen von Personen
20005 Lernen von Personen
5487 Lernen von Personen
7821 Lernen von Personen
359900 Lernen von Personen
3350 Lernen von Personen
180660 Lernen von Personen
48569 Lernen von Personen
18603 Lernen von Personen
40936 Lernen von Personen
1549 Lernen von Personen
1183 Lernen von Personen
32909 Lernen von Personen
分别有仓库 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