2013-07-03 55 views
1

由於某些原因,我必須爲中央倉庫創建鏡像倉庫。如何在沒有默認設置的情況下推送 - 鏡像倉庫中的鏡像選項

中央回購< ----->鏡回購< -----> dev的回購

風險是,在反射鏡回購推動可覆蓋中央回購高等教育的歷史。

如果某人(J先生)將新提交(commit_X)推入中央倉庫,同時鏡像將不進行提取而推送,則此推入將覆蓋中央倉庫的歷史。結果,commit_X將被刪除。

先生J將需要拉,合併,並再次推他的commit_X。

根本原因是如果使用clone --mirror創建回購,則push默認情況下默認使用--mirror,即使它不在push之後添加。

我知道可以安裝鉤腳本來禁用push --mirror centrol回購端。

但是有沒有辦法在鏡像倉庫中禁用它?

[編輯1]增加了一個插圖來幫助你理解這個問題。

enter image description here

+0

你爲什麼要使用鏡像回購,也不是光禿禿的回購? – user1937198

+0

請給我們使用示例命令行命令,並指出哪一個命令會清除J先生的更改。我不相信我完全理解您的問題。 – cforbish

+0

爲什麼在你的問題中有一張充滿文字的圖片而不是文字? – Chronial

回答

0

只要編輯您的.git/config和取消remote.<remote>.mirror,如git help push解釋:

--mirror
相反命名每個裁判推的,規定在裁判所有裁判/(包括但不限於refs/heads /,refs/remotes /和refs/tags /)鏡像到遠程存儲庫。新創建的本地參考將被推送到遠端,本地更新的參考將在遠端強制更新,刪除的參考將從遠端移除。如果設置了配置選項remote..mirror,則這是默認值。

+0

謝謝。通過在配置文件中將鏡像設置爲false,推送現在不會使用--mirror。但是它會影響鏡像倉庫中的提取或任何其他操作,因爲它是使用clone --mirror創建的嗎?根據'git help config'設置爲 – deepsky

+0

,這應該不會有任何副作用。 – Chronial