前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何搭建自己的git服务器

如何搭建自己的git服务器

作者头像
tyrantlucifer
发布2022-03-23 15:20:20
3.1K0
发布2022-03-23 15:20:20
举报
文章被收录于专栏:Tyrant LuciferTyrant Lucifer

前言

git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,是Linux之父的另外一个得意之作,也是程序员团队协作一个不可缺少的工具,平时个人开发者都使用github来进行git的使用,如果团队开发又想将代码保存在自己服务器怎么办?今天就来记录一下如何在自己的服务器上搭建git。

准备工作

  • 一台安装了git的Linux服务器,系统版本不限
  • 服务器具有root权限

开始

创建git用户

代码语言:javascript
复制
useradd git # 增加git用户
password git # 设置密码

创建版本库保存目录

代码语言:javascript
复制
mkdir /git # 创建目录
chown -R git:git /git # 设置权限
cd /git # 进入目录
su git # 切换到git用户

创建并初始化版本库

代码语言:javascript
复制
mkdir testrepo
git init --bare testrepo/

此时我们的git版本库已经创建完成了,接下来需要做的是配置ssh免密

修改ssh配置文件

代码语言:javascript
复制
vim /etc/ssh/ssh_config
 
# 添加以下内容到文件中
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
 
systemctl restart sshd # 重启ssh服务

客户端生成公钥

请注意,这里需要在客户端机器上进行

代码语言:javascript
复制
ssh-keygen -t rsa -C "admin@admin.com" # 这里的邮件地址可以随便填,但是要记录下来

找到生成的id_rsa.pub,将文件内容复制出来,一般文件保存于~/.ssh

服务器配置authorized_keys

使用root用户登录到服务器,并切换到git

代码语言:javascript
复制
su git

编辑authorized_keys

代码语言:javascript
复制
mkdir -p ~/.ssh
vim ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

将上面id_rsa.pub的内容保存authorized_keys到中

客户端clone项目到本地测试

代码语言:javascript
复制
git config --global user.email "admin@admin.com" # 这里填刚才生成公钥时使用的邮箱地址
git config --global user.name "admin" # 这里用户名随便填
git clone git@*.*.*.*:/git/testrepo.git

看到图中提示,说明我们的git服务器已经搭建成功,至此,我们已经成功搭建了一台只属于自己的git服务器。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Tyrant Lucifer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 准备工作
  • 开始
    • 创建git用户
    • 创建版本库保存目录
    • 创建并初始化版本库
    • 修改ssh配置文件
    • 客户端生成公钥
    • 服务器配置authorized_keys
    • 客户端clone项目到本地测试
    相关产品与服务
    Prowork 团队协同
    ProWork 团队协同(以下简称 ProWork )是便捷高效的协同平台,为团队中的不同角色提供支持。团队成员可以通过日历、清单来规划每⽇的工作,同时管理者也可以通过统计报表随时掌握团队状况。ProWork 摒弃了僵化的流程,通过灵活轻量的任务管理体系,满足不同团队的实际情况,目前 ProWork 所有功能均可免费使用。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档