我是Git的新手。我在linux服務器上創建了一個主存儲庫。同一臺服務器將由5個3個用戶組使用。我想爲每個組創建一個本地存儲庫。然後小組成員應該爲每個小組創建一個本地存儲庫,使用內容並將修改提交給組的本地存儲庫。主存儲庫和本地存儲庫在同一臺機器
我應該怎麼做呢?
我是Git的新手。我在linux服務器上創建了一個主存儲庫。同一臺服務器將由5個3個用戶組使用。我想爲每個組創建一個本地存儲庫。然後小組成員應該爲每個小組創建一個本地存儲庫,使用內容並將修改提交給組的本地存儲庫。主存儲庫和本地存儲庫在同一臺機器
我應該怎麼做呢?
您可以在您要創建的副本的目錄運行
git clone --bare /path/to/master/repository
創建主資料庫中的副本。我建議用不同的路徑做5次,以創建5個不同的主存儲庫本地副本。然後每個組成員都可以運行
git clone /path/to/group_local/repository
創建其組的本地存儲庫的單個副本。所以你有三個「級別」的存儲庫:主,本地,個人。
當你克隆一個倉庫,除非使用--bare
選項,git會設置克隆的remote.origin.url
屬性指的是原來的。這意味着,如果你在克隆運行
git pull
,它會拉從原始資料庫的變化,如果您在克隆運行
git push
,它將從克隆推變化原本的。因此,當您的小組成員在其各自的存儲庫中進行修改時,他們可以運行git push
,並且這些修改將被「上傳」到其組的本地存儲庫。在克隆存儲庫中,也可以通過指定git pull
命令的URL(或預配置的遠程名稱)來複制另一個存儲庫(我的意思是從最初克隆的存儲庫除外)中的更改。您也可以推送到任意一個其他存儲庫,儘管如果您要嘗試的話還是需要注意一些事情。
首先,我建議讓用戶選擇他們想要的存儲庫數量,這是完全不相關的,只能用於創建尷尬的情況。
我將組織它的方式激發了「仁慈的生命的獨裁者」和中尉模型。
BDFL是將中尉儲存庫的變更集成到頂級儲存庫主分支中的人。
中尉將貢獻者的變化整合到他們的回購中。最好在一些明智的分支。開發人員將他們的工作分支推向中尉,或者中尉將其從回購中退出,通過電子郵件發送補丁集,無論效果如何。
請注意,這些「集成」可以在很大程度上使用像哈德遜這樣的CI服務器自動執行。
貢獻者在每個任務的分支中工作並定期與MASTER存儲庫合併。只有在特殊情況下從中尉回購。 (現在只有當移動速度足夠快時才起作用)。最好從主人那裏撤回,以減少循環中的等待時間,並避免其中一名中尉生病時的「不愉快」。