【第九节】Git 服务器搭建
目录
前言
一、 使用裸存储库搭建 Git 服务器
1.1 安装 Git
1.2 创建裸存储库
1.3 配置 SSH 访问
1.4 克隆仓库
二、 使用 GitLab 搭建 Git 服务器
2.1 安装 GitLab
2.2 配置 GitLab
2.3 创建项目
2.4 生成 SSH 密钥
2.5 添加 SSH Key
三、 使用 GitLab 管理项目
3.1 配置用户信息
3.2 克隆项目到本地
3.3 上传文件到 GitLab
前言
在软件开发中,Git 是一个广泛使用的版本控制系统。虽然 GitHub 提供了免费的远程仓库服务,但有时我们需要搭建自己的 Git 服务器,以便更好地管理和控制代码。本文将介绍如何使用裸存储库和 GitLab 搭建 Git 服务器,并详细说明如何管理项目。
一、 使用裸存储库搭建 Git 服务器
1.1 安装 Git
在 Ubuntu 服务器上安装 Git:
sudo apt install git
在 CentOS/RedHat 系统上安装 Git:
yum -y install git-core
在 Fedora 系统上安装 Git:
dnf install git
1.2 创建裸存储库
首先,创建一个 Git 用户组和用户:
groupadd git
useradd git -g git
然后,切换到 Git 用户并创建裸存储库:
sudo su - git
cd /home
mkdir gitrepo
chown git:git gitrepo/
cd gitrepo
git init --bare myproject.git
chown -R git:git myproject.git
1.3 配置 SSH 访问
将需要访问的用户公钥添加到 `/home/git/.ssh/authorized_keys` 文件中:
cd /home/git/
mkdir .ssh
chmod 755 .ssh
touch .ssh/authorized_keys
chmod 644 .ssh/authorized_keys
将用户的公钥(位于 `id_rsa.pub` 文件中)添加到 `authorized_keys` 文件中,每行一个公钥。
1.4 克隆仓库
使用以下命令克隆仓库到本地:
git clone git@192.168.17.11:/home/gitrepo/myproject.git
192.168.17.11 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。
二、 使用 GitLab 搭建 Git 服务器
2.1 安装 GitLab
在 Ubuntu 上安装 GitLab:
sudo apt-get update
sudo apt-get install -y curl openssh-server ca-certificates tzdata perl
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.deb.sh | sudo bash
sudo EXTERNAL_URL="http://yourdomain" apt-get install gitlab-ee
在 CentOS 上安装 GitLab:
sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ee
2.2 配置 GitLab
安装完成后,打开浏览器访问 `http://yourdomain`,设置管理员账户。当出现类似如下回显信息,表示 GitLab 已经安装成功。
2.3 创建项目
登录 GitLab
获取登录密码:
sudo cat /etc/gitlab/initial_root_password
结果如下所示:
用用户名"root"登录
创建一个新的项目:
1. 点击 "Create a project"。
2. 设置项目名称和 URL。
3. 点击 "Create project"。
2.4 生成 SSH 密钥
生成 SSH 密钥对:
ssh-keygen
查看并复制公钥:
cat .ssh/id_rsa.pub
2.5 添加 SSH Key
在 GitLab 项目页面中,点击 "Add SSH key"
将公钥文件 id_rsa.pub 中的内容粘贴到 Key 所在的文本框中
然后点击 "Add key"完成后,如下所示
复制 Clone 链接,在进行克隆操作时需要使用
三、 使用 GitLab 管理项目
3.1 配置用户信息
配置 Git 用户信息:
git config --global user.name "testname"
git config --global user.email "abc@example.com"
3.2 克隆项目到本地
克隆项目到本地:
git clone git@101.132.XX.XX:root/mywork.git
3.3 上传文件到 GitLab
进入项目目录并上传文件:
cd mywork/
echo "test" > test.sh
git add test.sh
git commit -m "Add test.sh"
git push -u origin main
在网页中查看上传的 test.sh 文件已经同步到 GitLab 服务器中