说起git,大家一定都不陌生,我前几日想在自己的服务器里面搭建一个git服务器,
网上其实有很多教程,但是我还是花了两天时间才搭建成功
在这里我来给大家串一下git搭建库的流程,
顺便给大家解释下注意事项,和一些易错的的地方
1.首先安装git这个不用多说了
$ sudo apt-get install git
2.然后,重要的来了,创建一个git用户,
为什么要创建git用户?因为我们在clone的时候要指定一个ssh的用户,为了统一管理
$ sudo adduser git
然后测试下是否创建成功
$ id git #有东西代表创建成功了
3.现在我们先把这个用户放在一边,先来创建一个git库(这就是我们以后要用的git库)
现在第一个问题来了,如果你把git库创建在了root用户里面之后clone的时候有可能报这个错:
does not appear to be a git repository
而且后期如果你在git clone的时候你的连接不准确也会报这个错,意思是”你clone的文件不是一个库“,很难区分是哪里的问题,所以我们在创建库的时候,最好也能再新建一个用户,在这个用户里面进行操作
$ sudo git init --bare sample.git #home/work/srv/sample.git 比如是这个目录
4.然后把创建的git库权限改为git
$ sudo chown -R git:git sample.git
现在git库已经建立完成我们可以先执行下试试看看这个库是否好用
$ git clone sample.git# 在这个目录下直接执行成功的话,之后如果报错就是ssh的问题
5.现在该搞一下ssh了 ,先下载ssh
$ sudo apt-get install openssh-server
2.然后查看下
$ ps -ef|grep ssh
这里有个要注意的问题ssh-agent是一个密钥管理器,不要看见一堆ssh的进程就觉得是运行了,这个也必须运行起来
$ ssh-agent#这样执行就行了
3.然后生成密钥,放进之前我们创建好的/home/git/.ssh/authorized_keys这个文件夹里面
!!这里也有要注意的地方,首先我们会发现git/.ssh/authorized_keys这个文件根本没有,所以我们要创建一个才行
然后我们创建好的密钥(如果你是linux系统)是在root/.ssh下面,进去就能看见id_rsa.pub 这个文件
然后把里面的东西粘到你的git用户上的authorized_keys这个文件里面
$ ssh-keygen –t rsa#创建密钥
在你需要clone的文件夹下面输入以下命令
$ git clone git@127.0.0.1:home/work/srv/sample.git #如果你在本地clone 就是127.0.0.1,如果你不在本地克隆,改为本机ip地址即可
$ git clone ssh://git@127.0.0.1:2222/home/yun/yun.git/ 如果你的ssh端口被更改过
如果出现以下文字说明成功
Cloning into 'sample'...
warning: You appear to have cloned an empty repository.
但是也有可能出现以下错误
The authenticity of host 127.0.0.1 can't be established
然后让你一个劲的点yyyyyyy,程序都不结束
这是因为 你的ssh里面没有放入127.0.0.1这个ip(我是这么理解的,高手勿喷)
执行以下操作就行了
ssh -o StrictHostKeyChecking=no 127.0.0.1
也有可能报这个错误
does not appear to be a git repository
如果出这个错,一:有可能你ip地址后面的路径写的不对,如何判断写没写对?
你再输入路径的时候写一般然后tab,如果补全了,就说明没错,如果没补全,就说明有问题
二:有可能你的ssh本身没配置好,或者像我之前说的你把git库创建在了root用户里面
最后如果你在window下面配置git也很容易
下载完git软件后打开git-basg.exe
然后输入以下命令
$ git config --global user.name "lxyz"
$ git config --global user.email "1129103472@qq.com"
ssh-keygen -t rsa -C “1129103472@qq.com”
按3个回车,密码为空
这样 你的window密钥就生成了
在c盘你的个人中心.ssh文件中就能找到id_rsa.pub 这个文件