2016-12-28 31 views
1

我有一個git倉庫,我和其他幾個人一起使用。出於某種原因,github不是一個選項,所以我們使用一個公共目錄,並從那裏克隆。我該如何使用特定的linux組來進行git推送?

這裏的問題在於我的默認linux組不是存儲庫所在的組,因此當我推送時,某些組權限會變得混亂。推送的文件很好(在存儲庫中設置了「core.sharedRepository = group」),然而分支頭和路徑最終得到我的默認組。如果我不手動將其更改爲正確的組,則會導致其他人拉我的結果的問題。

有沒有一種方法可以告訴git在推送時使用共享存儲庫的組?

+0

在文件系統上使用ACL來強制組,如果可能的話使用FS? –

+0

@Sami這並不壞,但我不確定我是否具有對文件系統的訪問權限。雖然如果有辦法強制目錄中創建的所有文件擁有特定的組,我可能會說服某人更改佈局 –

+0

檢查FS正在使用中。不確定這些日子裏是否有任何不支持ACL的情況,那麼很容易就說出「這裏寫的任何東西都有這個組」,或者至少「這裏寫的任何東西都可以被這個組訪問。」已經在很多情況下使用過它,它是一種生活救星。 UGO訪問定義通常並不真正削減它。 –

回答

0

您正在尋找命令newgrp我的第一次嘗試將是ggit() { (newgrp gitgroup; git "[email protected]"); },應該這樣做,然後你可以ggit push

編輯:好吧,我第一次嘗試她沒有工作。 newgrp命令沒有任何魔力,它只是爲你啓動一個登錄shell。所以命令是

ggit() { echo git $(git rev-parse --sq-quote "[email protected]") | newgrp gitgroup; } 

並且工作。

相關問題