| 服务器问题 | ||
准备工作 在开始搭建 Git 服务器之前,您需要准备以下内容: Linux 服务器:可以是物理服务器或云端服务器(如 AWS、阿里云、嘉裕云)。 SSH 访问权限:确保您对服务器拥有 root 或 sudo 权限,便于安装和配置 Git。 Git 软件:服务器上需安装 Git,以便进行版本控制管理。 搭建 Git 服务器的步骤 更新服务器环境 在安装 Git 之前,首先确保服务器上的包管理工具是最新的: sudo apt update && sudo apt upgrade -y 安装 Git 在 Linux 服务器上安装 Git,使用以下命令: sudo apt install git -y 安装完成后,可以通过以下命令验证 Git 是否正确安装: git --version 创建 Git 用户 为了安全管理 Git 仓库,建议创建一个专用的 Git 用户: sudo adduser git 这将创建一个名为 git 的新用户,所有 Git 仓库将由此用户管理。 配置 SSH 访问 Git 服务器主要通过 SSH 进行访问。因此,您需要为每个开发者配置 SSH 公钥。开发者需生成 SSH 密钥对,并将公钥发送给您,您可以将这些公钥添加到 Git 用户的 .ssh/authorized_keys 文件中: sudo mkdir /home/git/.ssh sudo nano /home/git/.ssh/authorized_keys 将每个开发者的公钥粘贴到 authorized_keys 文件中并保存。 初始化 Git 仓库 接下来,为项目创建一个裸仓库(bare repository),所谓裸仓库即不包含工作目录,仅用于共享代码: sudo mkdir /home/git/my_project.git cd /home/git/my_project.git sudo git init --bare 这样,my_project.git 就是一个可以共享给团队成员的 Git 仓库。 设置仓库权限 设置仓库目录的所有权归属 git 用户,以确保正确的权限配置: sudo chown -R git:git /home/git/my_project.git 克隆与推送代码 克隆仓库 开发者可以通过以下命令克隆仓库到本地,使用 git 用户及服务器的 IP 地址或域名: git clone git@git-server-ip:/home/git/my_project.git 推送代码 开发者在本地进行代码修改后,可以正常使用 Git 的 commit 和 push 命令将代码推送到服务器: git add . git commit -m "Your commit message" git push origin main Git 钩子(Hooks)配置 Git 提供了一种称为钩子(hooks)的机制,允许在特定的 Git 操作发生时触发脚本。例如,可以配置 post-receive 钩子在每次仓库接收到更新时触发自动部署: 创建钩子脚本 在裸仓库的 hooks 目录中创建 post-receive 文件: cd /home/git/my_project.git/hooks sudo nano post-receive 在该文件中编写您的自动化脚本,例如自动部署网站代码。 设置脚本权限 保存文件后,确保赋予该脚本执行权限: sudo chmod +x post-receive 通过 Nginx 或 Apache 进行 Web 集成 如果希望将 Git 服务器与 Web 服务器结合,您可以使用 Nginx 或 Apache 作为反向代理,将用户请求转发到 Git Web 接口(如 GitWeb、Gogs、GitLab 等)。这不仅能够方便地查看代码,还能增强对仓库的管理功能。 安全与备份注意事项 SSH 安全性 确保 SSH 服务的安全性,建议使用强密码或密钥认证,并限制对 Git 用户的直接登录。 定期备份 定期备份 Git 仓库数据,特别是在多人协作的项目中,以防止数据丢失。可以使用 rsync 或 tar 命令来实现对裸仓库的备份。
|







关注官方微信