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 管理解决方案。

广告