如果我們暫時忽略雲源代碼庫系統(Gitlab,Github等) - 所有git repos都是對等的。一個給定的回購是一個「中央」回購實際上是你的問題,你的團隊決定它。
所有你需要做的就是從分叉回購倉庫到你有控制權的本地倉庫,然後在Gitlab上創建一個新的空的「中央」倉庫,並從你的倉庫中推出所有分支等。當地回購。
這聽起來像這基本上是你已經做的。
的「中央」回購協議,叉等進一步討論
的Git確實允許您創建一個「裸」庫,這意味着它的目的是某種形式的中央回購,因爲它沒有工作目錄。這就是所有的雲端回購系統所使用的(裸回購文件夾名稱爲[repo].git
,而不是在回購站內有一個單獨的.git
文件夾(即[repo]/.git
)。但除此之外,只要您獲取所有分支和標籤並遞歸拉出所有的子模塊等等,那麼你的本地回購具有遠程回購所有的相同信息,事實上,你的回購可以作爲另一個本地回購的遠程回購在其他地方。除此之外,Gitlab,Github和其他類似的服務還提供了一些額外的訪問保護手段,您可以在其中「保護」一個分支,以便只有某些人可以合併請求,例如使用分叉賦予其他分支團隊成員或團隊(甚至只是互聯網上的隨機人員)能夠創建回購的個人副本,但甚至那麼,如果他們想讓自己的叉子變成單獨的回購,他們可以將所有東西克隆到本地回購,然後讓其他人連接到它,或者將它推到Gitlab的新空回購庫等。
現在,所有人都說,你通常需要通過特殊的方式運行一些命令,以確保你將所有的歷史,所有的提交,所有的分支,所有的標籤都拉下來,以確保你真的擁有了所有的東西,但是在完成之後,給定的回購沒有什麼特別之處。這是Git美麗的一部分 - 如果你有回購,你擁有一切,所以你可以完全脫機工作,只需通過複製文件夾備份整個回購等。
最後,我剛剛刪除了我的個人回購並從新的「主」中重新加以引用。這似乎工作正常。 分支技術可能效果更好,但這不是我們在辦公室做事的方式,所以我對它不夠熟悉。不過,我會玩弄它。 – thatleviathan