到目前爲止,咱們都是隻是用了一個git遠端,而git的魅力就在於它支持多個遠端服務器的同時使用,在實際中也是常常用到的,本文就以github爲例,說明怎麼在egit中實現多個遠端的同時使用。git
本文提到的操做在「pull request」過程當中是常用的,具體,請對照替換便可。
github
咱們繼續使用以前使用的倉庫作演示,而且已經在本地克隆好。服務器
此外還須要在github註冊一個帳戶,具體的註冊什麼的都很簡單,就不說了,後文都以登陸後的狀態來講明。網絡
在github新建倉庫能夠經過本身頭像旁邊的「+」,也能夠直接訪問:https://github.com/new
app
這裏須要注意,github的私有倉庫是須要付費的,因此不想付費,又要私有倉庫,仍是放在osc吧。另外,因爲咱們是要從另外的倉庫導入進來,因此不要勾選下面的「Initialize this repository with a README」,不然導入不成功。eclipse
提交請求以後github會給出提示,告訴你要怎麼導入倉庫。fetch
給出的導入方式都是基於命令行的,咱們不使用給出的方法,使用eclipse進行管理,第一步是要將這個倉庫地址添加進本地倉庫的遠端地址列表中。優化
在本地倉庫記錄展開的「remotes」上右鍵->"create remote"進入添加遠端的嚮導this
再想到中第一步要爲這個遠端命名,這裏我命名爲「github」spa
接下來就是指定地址了,先將github的地址(在這裏是https://github.com/songxinqiang/BlogExample1.git)複製到剪貼板,在對話框中點擊「change」彈出填寫地址對話框,這個時候剪貼板的內容會自動填充,而後再填寫用戶名和密碼點擊保存就行了。
回到剛纔的窗口,點擊「save and push」完成保存和初始推送。
因爲網絡方面的緣由,此次推送會等的時間久一點(並且有時候還會推送失敗),完成後在github的倉庫頁面會看到倉庫內容
這個時候實際上只是推送了倉庫自己,還有標籤沒有推送,而且並無配置拉取和推送的配置等。還須要進行後續的推送和配置。
先推送已有的標籤,在倉庫下面的標籤上右鍵->"push tags"開始推送標籤
在對話框中須要選擇要推送的標籤和推送到的遠端,選擇好以後點擊「next」進入下一步
選擇好以後進入下一步,會給出本次推送的統計信息,確認以後就點擊「finish」開始推送
以後就是推送結果了,而後在github上就看獲得結果了
這個推送實際上在每次新建標籤以後都須要進行。
在倉庫上右鍵->"remote"->"fetch",進入配置遠端的嚮導
再想到中首先選擇遠端地址,這個下拉列表就是下面的「remotes」裏面的記錄
接下來就是指定須要獲取的內容,咱們將全部的分支和標籤都添加進任務列表
獲取以後就會在遠端跟蹤裏面有記錄
配置到遠端的推送,須要根據遠端的分支新建對應的分支,和普通的新建分支方式同樣,只是選擇「分支基於哪裏」的時候須要選擇對應遠端的對應分支,而後命名來區分,大體如圖
而後就能夠愉快的編輯修改,而後提交、推送啦。
這個時候會發現,選擇「提交併推送」,實際上將「github-master」做爲新分支進行的推送,可是咱們但願創建「github-master」到「master」分支的「映射」。
在「github」這個遠端上右鍵->"configure push"打開配置推送的對話框,
再打開的對話框中點擊「ref mapping」的「add」按鈕代開具體的「映射」添加對話框
在這個對話框中,指定本地分支與遠端分支的對應關係,例如,我想創建「github-master」到"master"的對應關係,就會這樣填寫
繼續配置,將本地的「github-develop」也配置好
「save and push」,就實現了想要的目的
完成了github的數據推送,這個時候osc的倉庫裏面數據尚未修改的,接下來須要將這個修改合併過去。
首先將本地分支切換到osc的倉庫對應的master分支,
而後使用以前合併分支的方式,進行分支合併,只是「合併源」選擇「github-master」分支就OK
合併完成以後,會有須要推送的提示,這個時候只是本地合併好了,接下來的就和以前的使用沒有區別了。
推送以後在osc的倉庫裏面也看到相關的修改
本文介紹是使用的兩個服務商的倉庫服務,可是實際上能夠同一個服務商的不通倉庫之間進行這項操做,最直接的就是進行「pull request」的時候,須要同步「源倉庫」的修改到本身fork的倉庫來,這樣在別人合併請求的時候纔會儘量減小衝突。
本文的操做,若有不對或者能夠優化的地方,還煩請指導。
enjoy!!