centos搭建git服务器

文章目录

[隐藏]

  • 第一步,安装git
    • 开始安装git
    • 继续编译安装git
    • 换一种方式,使用configure,增加libiconv
    • 创建软连接
    • 查看版本
  • 第二步,创建git用户,导入公钥。
    • 创建用户与组
    • 本地创建公钥
第一步,安装git
  • 查看git版本:https://github.com/git/git/releases?_blank
  • 查看git安装说明:https://github.com/git/git/blob/master/INSTALL?_blank

yum info git 可以看到服务器上自带的是1.8.3.1版本,我也升级下最新的是2.16.2(2018-03-05)

开始安装git

进入/home/soft目录,直接下载安装git,先不用安装一大推的扩展,等安装过程中报错了,看需要哪个扩展再装哪个~

cd /home/soft/  wget https://github.com/git/git/archive/v2.16.2.tar.gz  tar -zxvf v2.16.2.tar.gz  cd git-2.16.2  mkdir /usr/local/git  make prefix=/usr/local/git #报错了,libiconv错误  
下载安装libiconv  ```bash  cd /home/soft  wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz  tar -zxvf libiconv-1.14.tar.gz  cd libiconv-1.14  ./configure --prefix=/usr/local/libiconv && make && make install        编译libiconv发生./stdio.h:1010:1: 错误:'gets'未声明(不在函数内)      解决如下:      ```bash      cd srclib/ #进到出错文件的目录      sed -i -e '/gets is a security/d' ./stdio.in.h #编辑出错文件      cd ../ #回到编译对象目录      make #重新Make安装      ```  至此libiconv安装结束  

继续编译安装git

cd /home/soft/git-2.16.2  make clean #清理之前的编译文件  make prefix=/usr/local/git #重新执行安装,但是依旧报错,libiconv错误  

换一种方式,使用configure,增加libiconv

make clean  make configure  ./configure --prefix=/usr/local --with-iconv=/usr/local/libiconv/  make install  

安装成功!

创建软连接

ln -s /usr/local/git/bin/git /usr/bin/git  

查看版本

git --version  
第二步,创建git用户,导入公钥。

创建用户与组

groupadd git  useradd git  cd /home/git/  mkdir .ssh #新建文件夹  chmod 700 .ssh  touch .ssh/authorized_keys  #新建文件  chmod 600 .ssh/authorized_keys  

本地创建公钥

ssh-keygen -t rsa -C "[email protected]"  cd /home/lypeng/.ssh/  

拷贝到服务器

scp id_rsa.pub lypeng@your_ip:/home/lypeng/id_rsa.pub  

登录服务器,将公钥导入到auth验证文件

vim /home/git/.ssh/authorized_keys  :r /home/lypeng/id_rsa.pub  :wq  

开启ssh中的RSA认证

vim /etc/ssh/sshd_config    RSAAuthentication yes  PubkeyAuthentication yes  AuthorizedKeysFile .ssh/authorized_keys  

创建仓库

cd /home/git  git init —bare test.git  

本地克隆仓库,提交测试

mkdir /home/gitrepo  cd /home/gitrepo  git clone git@your-ip:test.git    echo 123456 > a.txt  git add a.txt  git commit -m ‘first’    git remote add mytestrepo git@your_ip:test.git  git push -u mytestrepo master  

发生错误如下:

git@your_ip’s password:  对象计数中: 3, 完成.  写入对象中: 100% (3/3), 200 bytes | 0 bytes/s, 完成.  Total 3 (delta 0), reused 0 (delta 0)  error: unpack failed: unable to create temporary object directory  To git@your_ip:test.git  ! [remote rejected] master -> master (unpacker error)  error: 无法推送一些引用到 ‘git@your_ip:test.git’  

unable to create temporary object directory,无法创建临时目录,看样子应该是权限问题,怀疑是.git文件夹写权限问题。

给个test.git整体777试试

chmod 777 test.git -R  git push mytestrepo  

ok,提交成功!

至此,clone push等测试结束!

原文出处:lypeng -> http://www.lypeng.com/view/119.html

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如果侵犯你的利益,请发送邮箱到 [email protected],我们会很快的为您处理。
超哥软件库 » centos搭建git服务器