@Tyhj
2018-09-21T14:55:28.000000Z
字数 2206
阅读 976
linux
原文链接:https://www.zybuluo.com/Tyhj/note/1287249
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
从远程仓库克隆项目
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