随笔 - 2649  文章 - 2452  评论 - 0  阅读 - 80424

Git 服务器搭建

Git 服务器搭建

上一章节中我们远程仓库使用了 Github,Github 公开的项目是免费的,2019 年开始 Github 私有存储库也可以无限制使用。

当然我们也可以自己搭建一台 Git 服务器作为私有仓库使用。

使用裸存储库(Bare Repository)

1、安装Git

Ubuntu 服务器上安装 Git:

sudo apt install git

如果你使用的系统是 Centos/RedHat 安装命令为:

yum -y install git-core

Fedora 安装命令:

# yum install git (Fedora 21 及之前的版本)
# dnf install git (Fedora 22 及更高新版本)

接下来我们 创建一个 git 用户组和用户,用来运行git服务:

$ groupadd git
$ useradd git -g git

2、创建裸存储库

登录到 Git 用户,然后在其 home 目录下创建一个裸存储库。

$ sudo su - git

首先我们选定一个目录作为 Git 仓库,假定是 /home/gitrepo/runoob.git,在 /home/gitrepo 目录下输入命令:

$ cd /home
$ mkdir gitrepo
$ chown git:git gitrepo/
$ cd gitrepo

$ git init --bare runoob.git

以上命令Git创建一个空仓库,服务器上的 Git 仓库通常都以 .git 结尾。然后,把仓库所属用户改为 git(如果是其他用户操作,比如 root):

$ chown -R git:git runoob.git

3、创建证书登录

将你的公钥添加到 ~/.ssh/authorized_keys 中,允许远程访问。

收集所有需要登录的用户的公钥,公钥位于 id_rsa.pub 文件中,把我们的公钥导入到 /home/git/.ssh/authorized_keys 文件里,一行一个。

如果没有该文件创建它:

$ cd /home/git/
$ mkdir .ssh
$ chmod 755 .ssh
$ touch .ssh/authorized_keys
$ chmod 644 .ssh/authorized_keys
# 在文件中添加你的 SSH 公钥

4、克隆仓库

$ git clone git@192.168.45.4:/home/gitrepo/runoob.git
Cloning into 'runoob'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.

192.168.45.4 为 Git 所在服务器 ip ,你需要将其修改为你自己的 Git 服务 ip。

这样我们的 Git 服务器安装就完成。


使用 GitLab

GitLab 是一个功能强大的 Git 服务管理工具,适合中大型团队,提供了丰富的用户管理、CI/CD、代码审查等功能。

1、安装 GitLab

根据 GitLab 官方文档 安装 GitLab。

例如,在 Ubuntu 上:

# 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

EXTERNAL_URL="http://yourdomain" 要设置自己的域名,或者公网 IP,比如:

sudo EXTERNAL_URL=101.132.XX.XX yum install -y gitlab-ee

2、配置 GitLab

安装完成后,打开浏览器访问 http://yourdomain,设置管理员账户。

当出现类似如下回显信息,表示 GitLab 已经安装成功。

img

3、创建项目

登录 GitLab,创建一个新的项目,用户名为 root

获取登录密码:

sudo cat /etc/gitlab/initial_root_password

结果如下所示:

img

首次登录使用用户名 root:

img

4、生成密钥对文件并获取公钥

安装 Git 工具(已安装跳过):

sudo apt-get install git

生成密钥对文件 id_rsa:

ssh-keygen

生成密钥对的过程中,系统会提示输入密钥对存放目录(默认为当前用户目录下的 .ssh/id_rsa,例如 /home/test/.ssh/id_rsa)和密钥对密码,您可以手动输入,也可以按 Enter 保持默认。

生成后,显示信息如下:

img

查看并复制公钥文件 id_rsa.pub 中的内容:

cat .ssh/id_rsa.pub

显示类似如下的信息:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDQVwWjF3KXmI549jDI0fuCgl+syJjjn55iMUDRRiCd/B+9TwUda3l9WXH5i7RU53QGRCsDVFZxixLOlmXr9E3VSqkf8xXBnHs/5E2z5PIOCN0nxfB9xeA1db/QxPwK4gkHisep+eNHRn9x+DpCYDoSoYQN0nBg+H3uqfOqL42mJ+tqSfkyqbhjBf1kjtDTlBfVCWtI0siu7owm+c65+8KNyPlj5/0AyJ4Aqk1OX2jv+YE4nTipucn7rHwWuowasPU86l+uBsLNwOSb+H7loJvQyhEINX2FS1KnpRU+ld20t07n+N3ErfX5xBAGfxXpoN9BKKSP+RT7rvTeXTVE**** test@runoob.com****

5、创建项目

在 GitLab 的主页中,点击 Create a project 选项:

img

点击 Create blank project,设置 Project name 和 Project URL,然后点击 Create project:

img

本文以 mywork 项目为例进行说明。

6、添加 SSH key

在当前 project 页面,点击 Add SSH key:

img

将公钥文件 id_rsa.pub 中的内容粘贴到 Key 所在的文本框中:

img

点击 Add key,SSH Key 添加完成后,如下图所示:

img

复制 Clone 链接,该链接在进行克隆操作时需要使用:

img

使用GitLab

1、配置使用 Git 仓库的人员信息,包含用户名和邮箱。

git config --global user.name "testname" 
 
git config --global user.email "abc@example.com" 

2、克隆已创建的项目到本地。

git clone git@101.132.XX.XX:root/mywork.git

img

3、上传文件到 GitLab 服务器:

进入到项目目录:

cd mywork/ 

创建需要上传到 GitLab 中的目标文件:

echo "test" > /home/test/test.sh

将目标文件或者目录复制到项目目录下:

cp /home/test/test.sh ./ 

将 test.sh 文件加入到索引中:

git add test.sh

将 test.sh 提交到本地仓库:

git commit -m "test.sh"

将文件同步到 GitLab 服务器上:

git push -u origin main

img

在网页中查看上传的 test.sh 文件已经同步到 GitLab 服务器中:

img

posted on   AtlasLapetos  阅读(80)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示