Linux系统搭建git服务器

本文详细介绍在Linux环境下如何从零开始搭建Git服务器,包括环境搭建、压缩包上传与解压、安装配置、用户创建及仓库初始化等步骤,为团队项目协作提供版本控制解决方案。

链接:https://pan.baidu.com/s/1CiCc3XHIfaA8c388f7n6_g
提取码:2xq0
1、环境的搭建
Git需要很多依赖环境:因此安装git需要先安装下列软件:
[root@itcast-01 ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel gcc-c++
2、上传压缩包
在/usr/local/下创建文件夹git文件夹,并上传git压缩包,进入git文件夹
3、解压压缩包
在git文件夹中运行
tar -xvf git-2.9.3.tar.gz
4、安装
进入解压的文件夹 git-2.9.3 运行
make prefix=/usr/local/git all
make prefix=/usr/local/git install
这是的git就算是安装成功了
5、创建git用户
useradd git 添加git用户
passwd git 为git用户添加密码
su git 切换到git用户
6、在git的家目录下初始化一个仓库
git init --bare [仓库名].git
就此简单的git服务器就搭建成功了,可以向服务器的已初始化的仓库里push项目了

<think>嗯,用户想要在Linux系统搭建Git服务器,我需要根据提供的引用资料整理出清晰的方法。用户引用的几篇资料都涉及Ubuntu系统下的Git服务器搭建,但侧重点不同:[^1]和[^2]是基础SSH协议搭建,[^3]提到GitLab这种更复杂的方案,[^4]包含Windows客户端的连接方法,[^5]则强调裸仓库的权限管理。 用户明确要求"Linux系统",没有限定发行版,但所有引用案例都是Ubuntu,所以优先采用apt-get的安装方式比较稳妥。注意到引用[^5]提到的裸仓库所有权变更(chown git:git)和引用[^4]的SSH密钥配置是通用关键点,需要重点强调。 用户可能遇到的实际痛点应该是权限配置和客户端连接问题。引用[^4]提供的Windows客户端命令很实用,特别是指定私钥路径的语法(core.sshCommand)容易出错,必须保留。同时要提醒防火墙设置和密钥权限(600),这在引用中没明说但属于常见故障点。 是否需要包含GitLab方案?虽然用户没明确要求,但引用[^3]出现了GitLab安装步骤,可以作为进阶选项提一下,毕竟企业用户可能需要Web界面管理。不过基础方案应该优先采用SSH协议裸仓库,因为引用[^1][^2][^5]都以此为主线,更符合"搭建git服务器"的核心诉求。 最后客户端连接部分要区分Linux和Windows场景——引用[^4]专门解决了Windows连接问题,这是很多教程忽略的细节,必须保留。测试步骤也要补充,比如git clone后推送空提交验证,避免用户搭建完才发现配置错误。 生成的问题要覆盖延伸需求:权限进阶管理(比如多个团队协作)、Git升级方法(Ubuntu默认源版本较旧)、备份策略这些实用场景。用户是公司项目使用,这些生产环境问题可能会后续浮现。 </think>以下是基于引用资料的Linux系统搭建Git服务器完整流程(以Ubuntu为例): --- ### 一、基础环境准备 1. **安装Git** ```bash sudo apt update && sudo apt install git -y ``` 2. **创建专用用户**(避免使用root) ```bash sudo adduser git sudo passwd git # 设置密码 ``` --- ### 二、服务器端配置 #### 方法1:SSH协议裸仓库(推荐) 1. **创建仓库目录** ```bash sudo mkdir /srv/git sudo chown git:git /srv/git ``` 2. **初始化裸仓库** ```bash sudo -u git bash cd /srv/git git init --bare sample.git # 项目名替换sample ``` > 裸仓库无工作区,安全性更高[^5] 3. **配置SSH密钥访问** - 将客户端公钥(`id_rsa.pub`)内容添加到服务器: ```bash sudo -u git mkdir /home/git/.ssh sudo -u git vi /home/git/.ssh/authorized_keys # 粘贴公钥 sudo chmod 600 /home/git/.ssh/authorized_keys # 关键权限设置! ``` --- #### 方法2:GitLab高级方案(需Web界面时) ```bash # 引用[^3]简化步骤 sudo apt install curl openssh-server ca-certificates postfix curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash sudo EXTERNAL_URL="http://your_server_ip" apt install gitlab-ce ``` > 访问 `http://your_server_ip` 完成初始化配置 --- ### 三、客户端连接(Windows/Linux通用) ```bash git clone git@yourserver_ip:/srv/git/sample.git \ --config core.sshCommand="ssh -i ~/.ssh/id_rsa" # 指定私钥[^4] ``` > 注意替换: > - `yourserver_ip` → 服务器IP > - `/srv/git/sample.git` → 实际仓库路径 > - `~/.ssh/id_rsa` → 客户端私钥路径 --- ### 四、关键注意事项 1. **防火墙开放端口** ```bash sudo ufw allow 22 # SSH端口(必开) sudo ufw allow 80 # 若使用GitLab需开HTTP ``` 2. **权限管理建议** ```bash sudo chown -R git:git /srv/git # 确保仓库属主正确[^5] ``` 3. **安全强化** - 禁用git用户shell登录: ```bash sudo vi /etc/passwd # 修改行: git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell ``` --- ### 测试验证 ```bash # 客户端操作 cd sample.git echo "# Test" > README.md git add . && git commit -m "Initial commit" git push origin main ``` > 成功推送即搭建完成 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值