2011-08-30 116 views
2

我有一個最初創建用於鏡像和 與遠程(回購)同步的回購鏡像服務器(myrepo)。也就是說,我使用了類似以下的內容來創建它。如何將回購鏡像同步到新的上游回購

cd myrepo 
repo init -u git://repoA-server/manifest.git --mirror 
repo sync 

...然後我修改清單文件的讀取線使用myrepo服務器 這樣用戶就可以從myrepo鏡

所以現在repoA消失了,不存在了克隆。它已被一個新的 repoB服務器替換爲一個不同的URL,它修改了一些分支,併爲這些分支使用了一個 新清單文件。

如何使用這個新的repoB重新同步myrepo鏡像?我不想吹走我的myrepo ,只是創建一個新的鏡子。我想保留它的歷史記錄,只需更新一些分支以從repoB跟蹤,然後使用新清單 文件(我將再次修改以從myrepo獲取項目)。

我不知道如何去做這件事?我想知道我是否可以簡單地在myrepo中更改一些 ,然後運行「repo sync」以使其與新鏡像 同步(即對更新分支執行提取/合併)?或者我必須克隆myrepo然後 做一些像添加repoB作爲一個遠程,創建跟蹤分支,取/合併我自己, ,並嘗試推它到myrepo?

回答

1

繼續和更改配置文件中的URL /路徑:

.git/config 

這將是最快的方式。儘管您可以使用命令來解決每個分支設置。

此外,請注意,如果您要同步時重新登錄,則不會丟失任何歷史記錄。你會失去你的reflog和rr-cache等等。

希望這有助於。

Adam

+0

是的。我發現了一個命令「git remote --set-url 」,我可以使用它來更改repoA url。所以我可以進入myrepo並更改每個git項目的url。之後我才運行'repo sync'來更新鏡像嗎? –

+0

我在git級別進行git獲取。但是,是的,你應該可以。 –