2012-02-23 196 views
13

我正在使用github。Github限制訪問

我想弄清楚如何限制我有一個承包商的回購訪問。

我有主要的rails代碼庫,我也有一個承包商,會爲我做一些css/ux類型的工作。

我想給承包商檢入代碼的能力,只能將git hub轉發到某些文件夾。

理想情況下,我可以讓他簽入代碼,然後它可以部署到服務器,以便他可以看到更改。

我不認爲我可以通過在特定的git倉庫中限制訪問來做到這一點,但也許有辦法使用兩個倉庫並限制訪問。

任何幫助,將不勝感激!

+0

如果承包商只能訪問某些文件夾,他如何測試他在做什麼? – robert 2012-02-23 18:21:21

+0

的目標是他只編輯css的外觀和感覺。所以他只編輯css類。所以如果CSS是自動部署的,他應該能夠看到它,當他點擊正在運行的應用程序。 – jignesh 2012-02-24 16:26:51

回答

9

如果所有的css/ux文件都在一個特定的子文件夾中,並且您希望他可以訪問該目錄中的所有內容,並且可以繼續使用git子模塊。

承包商對子倉庫具有推/拉權限,但對主倉庫沒有提交權限。

您也可以使用拉取請求功能,並確保他只提交他想要的文件夾。

+0

我認爲子模塊可能會更好。我對新承包商沒有太多的工作,所以我有點厭倦了讓他訪問並讓他承擔正確的分支。一旦我更瞭解他的工作風格,那可能是更簡單的選擇。 – jignesh 2012-02-24 16:30:50

+1

如果你在github上,你可以讓他承諾任何他想要的*回購。當他準備好進行高新工作時,他可以提交拉取請求,並且在將其拉入* main *回購之前,您將能夠查看其代碼 – Andy 2012-02-24 17:10:39

7

我沒有這樣做,但好像也許你有2種選擇:

1)授予承包商拉訪問(但不推)到倉庫。然後,他們可以分叉,在他們的分支上工作(可能在分支機構內?),然後向您發送拉取請求,您需要將他/她的變更納入其中。缺點是承包商無法將代碼發佈到服務器沒有你的干預(這可能是一個好處,具體取決於)。

2)如果他們的工作被隔離到一個子樹,請使用兩個存儲庫和make one a submodule of the other。然後,您可以在2個存儲庫中以不同的方式設置訪問控制,但您可以獲得項目的統一視圖。

+0

我認爲這可能有效。他會閱讀主回購嗎?我只想給他完整的子模塊回購權。我想我要做的主要事情是自動部署。 – jignesh 2012-02-24 16:29:30

+0

是的,他會的。再次,用一粒鹽,我沒有真正做到。 – denishaskin 2012-02-24 18:16:02