2011-04-28 67 views
3

使用msysgit和copssh,是否有可能保護ssh部分,使其只能訪問相關的git可執行文件,並且只能訪問一個文件夾?在Windows上保護Git服務器?

我有一種感覺,Windows上的git服務器將比svn服務器更加開放,比如visual svn。我希望被證明是錯誤的。

+1

我非常推薦使用其中一個Git-HTTP項目。請參閱http://serverfault.com/questions/58425/setting-up-git-repository-on-remote-windows-server/163065#163065您試圖使Windows的行爲與UNIX相同。最好順其自然。 – vdboor 2011-04-28 20:58:20

+0

@vdboor優秀!把它寫成答案,以便將其標記爲答案。 :) – 2011-04-28 21:02:23

回答

1

我非常推薦使用其中一個Git-HTTP項目。 看到我的答案在:https://serverfault.com/questions/58425/setting-up-git-repository-on-remote-windows-server/163065#163065

您試圖讓Windows的行爲像UNIX。 更好地使用流程,並使用基於.NET的解決方案作爲Git服務器後端。


當你有一個小的2人項目的交易(如你在評論中提到的),你也可以託管在Windows網絡共享git倉庫。它只是起作用,並且可以在你的git客戶端中克隆UNC路徑(或映射的驅動器盤符)。

對於UNC路徑,當使用斜槓代替反斜槓時(即//server01/git/myrepos.git)。

+0

謝謝! :)關於2人,這是一個空閒時間的項目,所以它不是在一個局域網,但仍然非常有用的知道。 – 2011-05-02 10:36:01

2

我會爲您的中央Git存儲庫使用Linux服務器。安裝gitolite。這將使你管理分支的權利等

UPDATE:

根據你最近的評論,只是去與unfuddle並用它在1分鐘內完成。如果您擔心使用它們提供的500MB空間,那麼可以將大型非專用工件作爲可以託管在github上的子模塊進行存儲。

希望這有助於!

+0

這個小型的2人空閒時間項目並非真正的選擇,而是爲了在更大的視野中有意義+1。 – 2011-04-29 00:09:33

+0

然後不要打擾任何安裝,並與unfuddle。免費和私人。 – 2011-04-29 23:41:28

+0

@Carl R:爲什麼不能爲你提供一個linux盒子? – splicer 2011-04-29 23:50:39

2

在Windows上,我發現Apache和Smart Http(git-http backend)是託管Git服務器的最佳方式。

https://web.archive.org/web/20100308035130/http://progit.org/2010/03/04/smart-http.html

和未來的訪問控制,我會建議你保持它的簡單,並有一個訪問的c​​onf文件SVN甚至gitolite/Gitosis的,寫在Git的回購簡單的掛鉤(在Python和Ruby等)

鉤子將爲您提供Git倉庫的相當好的控制。您可以控制每個分支的簽到,特定文件夾的簽入等。

看看git hooks手冊頁。 pre-receiveupdate是您可以用於此目的的掛鉤。

看從臨Git的關於如何使用服務器端的Git鉤子強制執行政策,這真棒章 - https://git-scm.com/book/en/v2/Customizing-Git-An-Example-Git-Enforced-Policy

您可以輕鬆地調整並添加功能,以滿足您的目的。

+0

我真的讚賞了答案。 +1但是我開始感覺更像是需要一個專門的服務器管理員才能在兩個人之間私下使用git。 – 2011-04-29 08:48:26

0

當我開始考慮建立企業git的服務,我們有以下要求:1。 管理git倉庫的項目,在這裏我們可以提供自助服務訪問在項目級控制。 2. LDAP登錄集成 3。低管理努力

我評估了香草git,git + git-http,gitolite。這些解決方案需要管理員來管理訪問控制。如果球隊很大,這將是一項重大的努力。如果團隊很小(5-10個開發人員),則可以使用vanilla git。

我看着github企業,使用github,後來bitbucket。我們最終購買了bitbucket,並且已經啓動了一個on-prem版本。 bitbucket滿足我們所有的要求。另外,我們可以選擇性地將一些AD組同步到bitbucket,並在組級別管理訪問。