美文网首页
Linux搭建Git服务器(CentOS)

Linux搭建Git服务器(CentOS)

作者: Tyhj | 来源:发表于2018-09-20 10:51 被阅读0次
animal-beach-bird-66258.jpg

查看 yum 仓库中的 Git 信息

yum info git

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

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

安装依赖库

yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel

yum install gcc perl-ExtUtils-MakeMaker

安装新的版本

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

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

配置环境变量

修改配置文件
vim /etc/profile

末尾添加变量
export PATH="/usr/local/git/bin:$PATH" 

保存退出,输入指令使配置生效
source /etc/profile

查看是否安装成功
git --version

创建用户组和用户

创建组:# groupadd 组名
useradd 用户名 -g 组名 

创建用户:# useradd 用户名 -g 组名 
useradd tyhj -g git

创建密码: # passwd 用户名
eg:# passwd git

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

创建远程仓库

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

通过证书访问

mac上生成公钥
ssh-keygen -t rsa -C "YourEmal@163.cn"

完成之后会生成两个文件,一个公钥 id_rsa.pub,一个私钥 id_rsa
默认目录在 /Users/xxx/.ssh,执行 cat .ssh/id_rsa.pub 可以查看生成的公钥的内容

在 Git 服务器上打开 RSA 认证
vim /etc/ssh/sshd_config

修改相关配置
RSAAuthentication yes
PubkeyAuthentication yes
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生成的公钥到那个目录并修改名字

如果目录没有authorized_keys文件,放到root目录
scp /Users/dhht/.ssh/id_rsa.pub root@66.42.102.63:~/.ssh/authorized_keys

放到用户目录
scp /Users/dhht/.ssh/id_rsa.pub root@66.42.102.63:/home/tyhj/.ssh/authorized_keys

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

从远程仓库克隆项目
git clone tyhj@66.42.102.63:test

也可以给已存在的项目添加远程仓库
git remote add origin tyhj@66.42.102.63:test

可能会出现如下错误
bash: git-upload-pack: 未找到命令

是因为git安装路径是/usr/local/git,不是默认路径,建立链接文件:
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack

本地提交

提交代码到远程仓库
git push 

可能会出现如下错误
bash: git-receive-pack: 未找到命令
是因为git安装路径是/usr/local/git,不是默认路径,建立链接文件:
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack

unable to create temporary object directory
权限不够问题,在服务器修改仓库权限
chmod 777 test.git -R

基本上就完成了

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

相关文章

网友评论

      本文标题:Linux搭建Git服务器(CentOS)

      本文链接:https://www.haomeiwen.com/subject/dipgnftx.html