前言:你们都知道,git是很是方便的版本控制工具,目前网上有不少免费的git仓库能够给咱们使用,可是有些时候咱们并不放心将咱们的项目寄放在别人的服务器上,这个时候就须要本身搭建一个git服务器,十分的简单。这文介绍如何在阿里云服务器上搭建本身的git服务器。html
在Ubuntu系统中,git安装只须要简单命令就能够完成,只须要打开终端,输入以下命令:git
sudo apt-get update sudo apt-get install git
git是分布式的,每个安装了git的电脑,既是客户端,也是服务器,git与git之间能够相互通讯,而咱们所谓的git服务器,实际上和咱们本身的电脑没有什么本质上的差异。可是,咱们为了更有效的管理项目,都采起中心化的管理方式,所以建立一个“git服务器”,做为其余全部人提交代码的最终终端。shell
咱们固然不容许直接使用root用户来与服务器进行通讯交互了,因此,咱们建立一个git用户,做为从此提交代码的用户。vim
使用命令:adduser git,建立新用户。能够在/home目录下看到新出现的git目录。bash
因为git用户的特殊性,咱们不但愿用户经过ssh链接到服务器上面去,因此,须要给git用户添加必定的权限。编辑系统权限文件:服务器
git里面比较特殊的一步操做,通讯的时候,客户端与服务器须要一个证书进行验证。ssh
(1)客户端(本机)如何生成公钥?可参考:生成 SSH 公钥。分布式
Linux自带ssh工具,能够很方便地生成和查看ssh公钥。工具
(2)服务器添加公钥:在/home/git目录下,使用命令:mkdir .ssh,cd .ssh,vi authorized_keys。而后把本身的公钥粘贴进去,保存退出。(vim经常使用命令总结)测试
若是团队很小,把每一个人的公钥收集起来放到服务器的/home/git/.ssh/authorized_keys文件里就是可行的。若是团队有几百号人,就无法这么玩了,这时,能够用Gitosis来管理公钥。
我选择把个人仓库放在/var目录下,固然能够放在其余地方,最后只须要记住完整目录便可。
新建git目录并修改其权限,使用git命令初始化一个仓库:
完成以后,咱们的远程仓库地址为:git@IP地址:/var/git//MyWeb.git。这的远程地址在以后会用得上。
注意:.git目录必需要有可读写权限,由于当咱们在push的时候,是使用git用户推送到服务器上面去,会有一个写入的过程,若是不赋予可写权限,push就会失败。因此使用命令:chown -R git:git MyWeb.git。
(1)克隆项目:git clone git@IP地址:/var/git/MyWeb.git
(2)上传项目:
在push的时候克隆会遇到一些问题,根据错误提示百度解决方案就行了,有多是权限缘由,或者是文件冲突等。好比我遇到了错误:failed to push some refs to 'git@47.95.192.***:/var/git/MyWeb.git' ,缘由是远程仓库中有文件不在本地仓库,须要先pull才能push。
好了,如今能够正常使用本身的git服务器了,后续更多git操做就很少说了,初学者能够看看廖雪峰的git教程。
参考连接
在阿里云上搭建本身的git服务器:http://www.javashuo.com/article/p-bokkzapt-ce.html。
push出现错误:https://jingyan.baidu.com/article/f3e34a12a25bc8f5ea65354a.html。
本文版权归做者AlvinZH和博客园全部,欢迎转载和商用,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文链接,不然保留追究法律责任的权利.