[关闭]
@Tyhj 2018-09-21T06:55:28.000000Z 字数 2206 阅读 619

CentOS搭建Git服务器

linux


原文链接:https://www.zybuluo.com/Tyhj/note/1287249

查看 yum 仓库中的 Git 信息

  1. yum info git

已安装的软件包
名称 :git
架构 :x86_64
版本 :1.8.3.1

yum仓库中的Git的版本是1.8.3.1,并不是最新版本,先卸载后再安装

安装依赖库

  1. yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
  2. yum install gcc perl-ExtUtils-MakeMaker

安装新的版本

下载地址:https://github.com/git/git/releases

  1. 卸载低版本的 Git
  2. yum remove git
  3. 将下载的最新的 Git 源码放在 /usr/local/git 目录下:
  4. cp /home/upload/git-2.19.0.tar.gz /usr/local/git/
  5. 或者在线下载
  6. # wget https://github.com/git/git/archive/v2.19.0.tar.gz
  7. 解压文件
  8. tar -xzvf git-2.19.0.tar.gz
  9. 进入文件夹,执行命名开始编译源码
  10. make prefix=/usr/local/git all
  11. make prefix=/usr/local/git install

配置环境变量

  1. 修改配置文件
  2. vim /etc/profile
  3. 末尾添加变量
  4. export PATH="/usr/local/git/bin:$PATH"
  5. 保存退出,输入指令使配置生效
  6. source /etc/profile
  7. 查看是否安装成功
  8. git --version

创建用户组和用户

  1. 创建组:# groupadd 组名
  2. useradd 用户名 -g 组名
  3. 创建用户:# useradd 用户名 -g 组名
  4. useradd tyhj -g git
  5. 创建密码: # passwd 用户名
  6. eg:# passwd git

创建完用户后会在 /home 目录下生成一个以用户名为名的目录,可以通过 -d 设置用户登录的主目录位置(eg:useradd user01 -d /usr/user01 -g git)。如果不想为用户建立目录,可以在建立的时候用 -M 命令;

创建远程仓库

  1. 切到用户的目录
  2. cd /home/tyhj
  3. 创建仓库
  4. git init --bare test.git

通过证书访问

  1. mac上生成公钥
  2. ssh-keygen -t rsa -C "YourEmal@163.cn"
  3. 完成之后会生成两个文件,一个公钥 id_rsa.pub,一个私钥 id_rsa
  4. 默认目录在 /Users/xxx/.ssh,执行 cat .ssh/id_rsa.pub 可以查看生成的公钥的内容
  5. Git 服务器上打开 RSA 认证
  6. vim /etc/ssh/sshd_config
  7. 修改相关配置
  8. RSAAuthentication yes
  9. PubkeyAuthentication yes
  10. AuthorizedKeysFile %h/.ssh/authorized_keys

将mac上生成的公钥添加到用户目录的.ssh/authorized_keys文件末尾,放到root目录也行的话,就可以用root来登陆服务器不需要密码;我们的git仓库在tyhj用户的目录下,并且我们使用tyhj用户来登陆Git服务器,所以还需要将公钥放在 /home/tyhj/.ssh/authorized_keys文件中

Linux服务器没有目录和文件的话新建一个,或者直接使用ssh-keygen命令就会生成相关目录,然后直接通过ssh上传mac生成的公钥到那个目录并修改名字

  1. 如果目录没有authorized_keys文件,放到root目录
  2. scp /Users/dhht/.ssh/id_rsa.pub root@66.42.102.63:~/.ssh/authorized_keys
  3. 放到用户目录
  4. scp /Users/dhht/.ssh/id_rsa.pub root@66.42.102.63:/home/tyhj/.ssh/authorized_keys

clone远程仓库或者添加远程仓库

  1. 从远程仓库克隆项目
  2. git clone tyhj@66.42.102.63:test
  3. 也可以给已存在的项目添加远程仓库
  4. git remote add origin tyhj@66.42.102.63:test
  5. 可能会出现如下错误
  6. bash: git-upload-pack: 未找到命令
  7. 是因为git安装路径是/usr/local/git,不是默认路径,建立链接文件:
  8. ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack

本地提交

  1. 提交代码到远程仓库
  2. git push
  3. 可能会出现如下错误
  4. bash: git-receive-pack: 未找到命令
  5. 是因为git安装路径是/usr/local/git,不是默认路径,建立链接文件:
  6. ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack
  7. unable to create temporary object directory
  8. 权限不够问题,在服务器修改仓库权限
  9. chmod 777 test.git -R

基本上就完成了

参考文章:https://blog.csdn.net/u011886447/article/details/79802285

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注