Ubuntu 搭建简单 Git 服务器

今天试了一下在直接阿里云服务器搭建了一个最简单的git服务端

  • 搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。
    假设你已经有sudo权限的用户账号,下面,正式开始安装。

  • 第一步,安装git:
    $ sudo apt-get install git

  • 第二步,创建一个git用户,用来运行git服务,可以使用id git 命令来查看用户的id:
    $ sudo adduser git

  • 第三步,创建证书登录:
    把自己的id_rsa.pub文件公钥导入到/home/git/.ssh/authorized_keys文件里,一行一个。

  • 第四步,初始化Git仓库:
    先选定一个目录作为Git仓库,假定是/var/www/test.git,在/var/www目录下输入命令:
    $ sudo git init --bare test.git
    Git就会创建一个裸仓库,把owner改为git:
    $ sudo chown -R git:git test.git

  • 第五步,禁用shell登录:
    出于安全考虑,第二步创建的git用户不允许登录shell,这可以通过编辑/etc/passwd文件完成。找到类似下面的一行:
    git:x:503:503::/home/git:/bin/bash
    改为:
    git:x:503:503::/home/git:/usr/bin/git-shell
    这样,git用户可以正常通过ssh使用git,但无法登录shell,503是uid和gid,id git可以查看。

  • 第六步,克隆远程仓库:
    现在,客户端可以通过git clone命令克隆远程仓库了:
    $ git clone git@server:/var/www/sample.git

本作品采用《CC 协议》,转载必须注明作者和本文链接
当它本可进取时,却故作谦卑; 在困难和容易之间,它选择了容易; 自由软弱,却把它认为是生命的坚韧; 侧身于生活的污泥中,虽不甘心,却又畏首畏尾。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

/home/git/.ssh/authorized_keys记得这个文件的权限也要改 , 或者在git用户登陆的时候创建

使用repo的hooks里面一个post-push脚本可以配合部署上线的 , 把push上来的压缩包解压到对应位置 , 每个repo需要单独配置

还有那个git不区分文件名大小写, 这个才是坑 , 在本地文件名 Index.htm->解压push包得到的是index.htm , 这导致我又用回了Filezilla ....... 本能地工具回滚 , 而不是找解决方案[逃~] ....

楼下继续说说使用git的注意东西~~

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!