![](/img/trans.png)
[英]How to synchronize / mirror the 'Files' Repository and the 'git' Repository in SourceForge?
[英]How do I mirror and synchronize GitHub and SourceForge repositories?
我在GitHub上有一個存儲庫,在SourceForge上有一個空存儲庫。 如何制作鏡像並同步它們?
在StackOverflow上有“ 鏡像Github,Sourceforge和Google代碼的存儲庫 ”,它解釋了如何推送到多個存儲庫,但是當提交將在GitHub或SourceForge中時如何同步它們?
保留兩個單獨的遠程用於谷歌代碼,另一個用於github。
git remote add origin <<your google code repo url>>
git remote add github <<your github repo url>>
現在,您有兩種方法來同步回購。
git remote update
這將從所有遠程URL獲取,但不會合並。 您必須手動合並代碼。 或者,如果您需要兩個鏡像中的所有提交,則可以通過指定要合並的代碼(可能是主代碼)的分支名稱來單獨提取它們。
git pull origin master
git pull github master
推送到多個分支可以按照問題中的鏈接或使用單個命令的說明完成
git push origin master
git push github master
我擔心Github和Source Forge都不提供鏡像功能。
乍一看,我可以看到兩個選項,但兩者都需要第三個服務器(本地或任何雲提供商)。 我要稱之為同步服務器。
一種選擇是將同步服務器設置為從源中提取並推送到鏡像。 你可以使用一個簡單的crontab。 如果您允許兩端寫入,則可能會遇到此方法的問題。
第二個也是更復雜的選擇是在同步服務器上創建和設置webhooks(github和SF支持)。 每次推送時都會調用webhook,並且您將被允許執行與訂單git服務器完全相同的推送。 這種方法有點安全,但如果兩台服務器同時發生兩次不同的推送,仍然可能會失敗。 這是master-master分布式系統中的經典問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.