分別有倉庫 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.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推上去
希望能幫到你
我猜想,在從任一遠端倉庫拉取之前,先
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