自己动手搭建Git服务器

开心一刻
       大娃:妖精!我们要消灭你!
       蛇妖:呵呵呵,真是可笑。你们自己个儿也都是葫芦变的,凭什么叫我妖精?!
       葫二娃:你也说了,我们是葫芦变的,自然不是妖精。
       蛇妖:不是妖精是什么?
       葫芦娃们异口同声:哈哈哈哈哈!我们是植!物!人!

写在前面

       Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
       Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。
       Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持。
       目前GitHub、码云都已经可以创建共有仓库和私有仓库,管理起来也很方便,我写这篇博客就是为了玩。哈哈哈哈!

安装Git

       切换到root用户,然后执行下面的命令。如果不能切换,那么在命令前面加上sudo,然后再执行。

$ yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
$ yum install git

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

$ groupadd git
$ useradd git -g git

实现Git免密登录

       因为客户端Git访问远程仓库,实际是需要ssh远程登录,如果没有实现ssh的免密登录,那么每次Git登录的时候都需要输入密码,关键是有可能你输入了密码也访问不了仓库,所以还是需要设置一下免密登录,实现了ssh的免密登录就是实现了Git的免密登录。
       具体操作方法请参考实现Git免密登录
       请确保git用户家目录下的文件都是属于git用户的(尤其是.ssh文件夹),如果不是,执行下面命令(root用户执行):

$ chown -R git:git /home/git

初始化Git仓库

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

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

$ git init --bare repo.git
Initialized empty Git repository in /home/gitrepo/repo.git/

       以上命令Git创建一个空仓库,服务器上的Git仓库通常都以.git结尾。然后,把仓库所属用户改为git:

chown -R git:git repo.git

克隆仓库

# git clone 用户名@主机名或域名或ip地址:仓库名
$ git clone git@xingyu-machine:/home/gitrepo/repo.git
Cloning into 'repo'...
The authenticity of host 'xingyu-machine (fe80::8187:4048:14c6:42ee%6)' can't be established.
ECDSA key fingerprint is SHA256:el6WMxEkBnA0tSfXCnXki8ZJR8uleXvr/1EHlQ5gDsE.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'xingyu-machine,fe80::8187:4048:14c6:42ee%6' (ECDSA) to the list of known hosts.
warning: You appear to have cloned an empty repository.

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

附加说明

       当前配置好Git服务器之后,因为git只是我们用来使用Git仓库的一个账号,不建议让git拥有登录系统的权限,所以可以使用以下命令更改git用户的登陆权限(root用户更改):

$ usermod git -s /bin/git-shell

文中都是我个人的理解,如有错误的地方欢迎下方评论告诉我,我及时更正,大家共同进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值