Git - 設定伺服器



設定 Git 倉庫的伺服器意味著配置一臺伺服器來託管 Git 倉庫,這將允許使用者克隆、拉取和推送程式碼。

協作開發環境是設定遠端伺服器的理想設定。設定伺服器的常用方法是使用 SSH 進行安全訪問或使用特定於 Git 的伺服器軟體。

可以執行以下步驟來設定 Git 伺服器:

1. 伺服器準備

為了設定 Git 伺服器,您需要訪問一個遠端伺服器,該伺服器可以託管 Git 倉庫。只需確保您的伺服器已更新。執行以下命令:

  • Ubuntu / Debian

    sudo apt update && sudo apt upgrade
  • CentOS / Fedora

    sudo yum update

2. 在伺服器上安裝 Git

在您的伺服器上安裝 Git 以託管倉庫。

  • Ubuntu / Debian

    sudo apt install git
  • CentOS / Fedora

    sudo yum install git

檢查已安裝的 git 版本,以確認。執行以下命令:

git --version

3. 建立 Git 使用者

  • 您應該建立一個使用者來專門透過 SSH 使用 Git 倉庫。執行以下命令來建立使用者:

    sudo adduser git
  • 為 Git 使用者設定密碼。雖然可選,但建議這樣做。

    sudo passwd git
  • 您需要向此使用者授予 SSH 訪問許可權。將他們的本地機器上的公鑰複製到伺服器。每個使用者都需要將其公鑰放在 git 使用者的 authorized_keys 檔案中。

    su - git
    mkdir ~/.ssh
    chmod 700 ~/.ssh
    nano ~/.ssh/authorized_keys
    

    設定適當的許可權

    chmod 600 ~/.ssh/authorized_keys

4. 建立裸倉庫

**裸倉庫**是沒有工作區的倉庫。此裸倉庫充當開發者可以從中推送或拉取的中央倉庫。按照相同的步驟操作:

  • 透過執行以下命令切換到 Git 使用者:

    su - git
  • 為專案倉庫建立一個新目錄,並選擇儲存倉庫的位置。執行以下命令:

    mkdir -p /srv/git/project.git
  • 初始化裸倉庫,因為它不會有工作區。

            cd /srv/git/project.git
            git init --bare
        

5. 配置 SSH 訪問

您需要配置 SSH 訪問才能允許使用者與 Git 倉庫互動。您可以克隆倉庫,這將允許您進行更改、提交併將這些更改推回伺服器。

    git clone git@your_server_ip:/srv/git/project.git

6. 設定許可權

如果您需要允許多個使用者協作並處理同一個倉庫,則需要設定許可權。預設情況下,只有 git 使用者可以推送或拉取程式碼。要允許其他使用者,您需要執行以下任一操作:

  • 在所有協作者之間共享 git 使用者。

  • 所有使用者都可以新增到特定組,該組具有在倉庫中讀取/寫入的許可權。

執行以下命令進行組協作:

1. 首先建立一個組並將使用者新增到其中。

    sudo groupadd gitgroup
    sudo usermod -aG gitgroup git
    sudo usermod -aG gitgroup otheruser

2. 更改組的許可權。

    sudo chown -R git:gitgroup /srv/git/project.git
    sudo chmod -R 770 /srv/git/project.git

7. 安裝 Git 伺服器軟體(可選)

您可以安裝 Git 伺服器軟體(例如 GitLab 或 GitHub),以獲得更強大的使用者管理和 git 服務。還可以採取一些可選步驟來更好地管理 Git 伺服器。

  • 可以配置 Git 鉤子,它可以自動執行任務,例如執行測試、傳送通知等。

  • 建立 cron 作業以定期備份您的 git 倉庫。

  • 管理 SSH 金鑰,以便使用者無需提供密碼即可進行身份驗證。

關鍵步驟總結

  • 在伺服器上安裝 Git。

  • 建立一個 git 使用者來管理倉庫。

  • 設定使用者的 SSH 訪問許可權。

  • 為遠端協作建立裸倉庫。

  • 可選:安裝 GitLab 或 GitHub 以獲得功能齊全的 Git 管理解決方案。

廣告