設定 git 伺服器

設定 git 伺服器

我最近在 Amazon EC2 上設定了 ubuntu-server。我想用它作為我的 git 伺服器,這樣我就可以在那裡儲存我的儲存庫。

那麼,在哪裡可以找到有關如何在 ubuntu 伺服器上設定 git 的詳細說明呢?所有這些 SSH 金鑰和類似的東西、多個用戶等等。

答案1

您可以使用按照 aking1012 的建議安裝 Git 伺服器的教學課程您或您可以只在 EC2 執行個體上安裝 SSH 伺服器(可能明智的做法是保護它並更改預設連接埠)。

Git 可以是無伺服器的,您可以初始化儲存庫,然後透過 SSH 從遠端存取它。所以 Ubuntu 伺服器上的指令應該可以做到這一點:

GIT_DIR=project.git git init  
cd project.git  
git --bare update-server-info  
cp hooks/post-update.sample hooks/post-update

最後在你的伺服器上安裝 SSH:

sudo apt-get install ssh-server

現在,您應該設定 SSH 以確保其安全。

是時候將您的專案放到網路上了(您的開發電腦上已有的資料):

git push ssh://<username>@<remote-git-hostname>/path/to/project.git master

現在你可以開始克隆了。你繼續你的開發機器:

git clone ssh://<username>@<remote-git-hostname>/path/to/dir.git

檢查這個Git 上的優秀資源

要產生 ssh 金鑰以進行更安全的身份驗證,您可以閱讀這篇文章:SSH認證

答案2

對於我使用的所有 Git 伺服器設置矽藻土它允許“每個分支”存取的安全粒度。如果您在遠端伺服器上進行設置,則設置非常簡單,就像執行互動式腳本一樣簡單。除了這種「易於設定」的特性之外,它還有 Natty 和 Maverick 軟體包

sudo apt-get install gitolite

這不會提供像 Github 或 Gitweb 這樣的 Web 前端 - 但您可以在 Gitolite 之類的東西之上輕鬆配置和安裝它們。

答案3

我喜歡矽藻土。 Pro Git 書有一個部分但我建議閱讀整本書。

至於您的多用戶要求:

Gitolite 不僅允許您透過儲存庫(如 Gitosis 那樣)指定權限,還可以透過每個儲存庫中的分支或標籤名稱來指定權限。也就是說,您可以指定某些人(或一群人)只能推送某些「refs」(分支或標籤),而不能推送其他人。

答案4

一定要遵循官方文件:https://help.ubuntu.com/community/Git(部分設定 Git 和專案管理

相關內容