(ubuntu環境)請問,我在本地有一個目錄(非空),想把它變成git遠端函式庫,我該怎麼做?
PS:本人是git庫管理者,要給其他人分配庫的權限,在網路上看了一些教程,不太明白。
有個比較笨的方法:先在gitolite-admin/conf/gitolite.conf裡建立庫並分配權限,然後push到伺服器,再下載到本地,把檔案拷進去,然後push到伺服器。這方法不太好用,有其他方法嗎?
漂亮男人2017-04-26 09:03:44
如果只是變成遠端程式庫不難,Git 支援的四種傳輸協定都可以使用:
file://
這個適用於本地(區域網路檔案共享系統)。簡單,立刻就用,但是權限分割不可能。 git://
需要運行一個特殊守護進程,然後其他人透過特定連接埠號碼訪問,也不難。但一般只用來讀取,一旦開放寫入操作,則所有知道地址的使用者都可以讀/寫,基本上沒有安全性。 ssh://
這個比較常用,當然也是最安全的,透過在 ssh 之上建立一個授權層可以實現非常複雜的權限分配,代表程式:gitolite 等。但是配置非常複雜,需要你對 ssh 協定有非常深入的了解。 ssh 的另一個缺點是無法實現匿名訪問——當然如果你不需要開源的話這也沒什麼。或配合 git 協議一起用。 http(s)://
架设简便,整一个 http 服务器,把 git repo 放在服务器根路径,然后配置一个 post-update
鉤子就可以了。高級的 Git 服務都是 http(s) + ssh 雙管齊下的(http 比較慢),例如 Github。建議你有條件的話不妨試試 Gitlab 好了,不過要有 Rails 部署的能力,而且也挺複雜(效果奇好哦)。 簡單介紹一下,具體的每一個操作過程都難以三言兩語表述清楚,先想好用什麼吧,然後從這裡開始