2012-09-21 51 views
2

是的,我知道我知道嘿嘿。分佈式版本控制系統沒有中央存儲庫,任何人都可以獲取任何存儲庫的版本,因爲這不是集中式VCS。然而,在辦公室的現實生活中,老闆們往往希望成爲一切事物的主人,所以我來這裏看看是否有人對我的情況有好的方法。GIT中的用戶/存儲庫層次

在我的辦公室,我們已經開始使用GIT,我們有這樣的事情:

<SERVER> 
---->../apache/htdcos/All_Proyects [Bare repository] 
-------->/Proyect_A [Repository]~~~ Developer 1 [Git Repo], Developer 2 [Git Repo] 
-------->/Proyect_B [Repository]~~~ Developer 3 [Git Repo], Developer 4 [Git Repo] 
-------->/Proyect_123 [Repository]~~~ Developer 5 [Git Repo], Developer 6 [Git Repo] 

那就是每一個項目都有它自己的Git倉庫,並在All_Projects文件夾就可以有一個純倉庫的想法然後「主要的」,所有的項目推到它;那裸倉庫將是像碩士倉庫的主人(這是一個真正的好辦法首先???)

有了這種方法,我有一些懷疑...

How我可以擁有用戶/存儲庫的層次結構嗎? 因此,例如,開發人員5無法從/向Proyect_A推/拉/提交,但他可以將其提交給他自己的Proyect_123?

我可以擁有類似這樣的層次結構系統嗎?:開發人員推送到Boss存儲庫,Boss自動將項目存儲庫和服務器(cron可能)從每個項目存儲庫拉到主存儲庫的裸機主服務器。 (開發人員無法直接推送到裸倉庫)。

我該怎麼做這樣的事情? 感謝!

回答

1

回購協議引用的父回購正是爲什麼submodules是。

和保護用戶和項目是可行的,前提是你已經添加到您的主要的Git回購服務器Gitolite(見installation page)。
這是一個Perl腳本的小集合,它將攔截任何Git命令,並根據配置文件驗證所述命令,該配置文件指定哪個用戶可以在哪個repo上執行哪些操作。

+0

相當有用,我的老闆剛剛把我的額頭上的一顆星星哈哈謝謝,我會嘗試一些教程,似乎很有用。 – Metafaniel

相關問題